Welcome to the FlexiWork repository! FlexiWork is a powerful real-time collaborative workspace designed to bring users an efficient, shared environment for notes, documents, and task management. With advanced collaboration features, seamless user experiences, and enhanced control, FlexiWork serves as an intuitive and responsive platform built for productivity.
Here's what sets FlexiWork apart:
- 🤯 Real-time Cursors: Visualize collaborators' positions within the document in real-time.
- 📝 Real-time Text Selection: Instantly view text selections made by other users.
- ⏱️ Real-time Database and Collaboration: Automatically syncs updates across users for a seamless collaborative experience.
- 🟢 Real-time Presence: Keep track of who’s active and collaborating live.
- 😜 Custom Emoji Picker: Personalize communication with a custom emoji selection.
- 🌙 Light Mode & Dark Mode: Toggle between light and dark themes to suit your preference.
- 🗑️ Move to Trash Functionality: Delete items temporarily with the option for easy recovery.
- 🚨 Next.js 13 App Router: Leverages the latest routing capabilities of Next.js for an efficient user experience.
- 🗺️ Free Plan Restrictions: Define feature limitations for users on the free plan.
- 💰 Monthly Payments: Seamlessly handle subscription payments through integrated providers.
- 📧 Custom Email 2FA Invitations: Enhanced security with two-factor authentication via email invites.
- ⚡️ Supabase Row-Level Policy: Ensures custom, fine-grained access control at the row level.
- 🔐 Custom Authentication: Built-in, secure authentication for a seamless login experience.
- 🤑 Custom Rich Text Editor: Edit and format text with ease using a robust rich-text editor.
- 📚 Profile Settings Update: Customize profile settings to enhance your user experience.
- 📍 Payment Management Portal: Manage subscription and payment details easily in one place.
- ✳️ Websockets: Enable real-time interactions for smooth collaboration.
- 📣 Optimistic UI: Instant visual feedback for an efficient and intuitive user experience.
- 📱 Responsive Design: Consistent interface across desktop and mobile devices.
- 👾 Deployment: Configured for optimized production deployment.
To set up FlexiWork locally, follow these steps:
- Node.js (>= 14)
- Supabase Account and Project
- Payment Provider API Key
-
Clone this repository:
git clone https://github.com/username/flexiwork.git
-
Install dependencies:
cd flexiwork
npm install
-
Configure environment variables for Supabase and payment provider.
-
Start the development server:
npm run dev
- Open your browser and navigate to http://localhost:3000.
Frontend: Next.js 13, React, WebSockets Backend: Supabase, Row-Level Security Policies Payments: Subscription management integration Authentication: Custom-built two-factor authentication (2FA) Deployment: Production-ready configuration