TaskFlow is a high-performance, real-time SaaS platform designed to streamline team collaboration and task management. Built with a robust MERN stack and featuring a seamless drag-and-drop experience, TaskFlow empowers teams to organize, track, and execute projects with unprecedented efficiency.
- Dynamic Workspaces: Create and manage multiple environments for different teams or projects.
- Interactive Kanban Boards: Advanced drag-and-drop task management powered by
@dnd-kit. - Real-time Sync: Instant updates across all clients using Socket.io.
- User Dashboard: Comprehensive overview of personal tasks, deadlines, and project health.
- Multi-Auth System: Secure login via JWT or Google OAuth 2.0.
- Role-Based Access: Granular control over workspace permissions and board visibility.
- Protected API: Rate-limited and secured endpoints using Helmet and custom middleware.
- Stripe Integration: Built-in subscription management and pricing plans.
- Automated Emails: Transactional emails and notifications via Nodemailer.
- SEO Optimized Landing: High-conversion landing page with modern aesthetics.
| Layer | Technologies |
|---|---|
| Frontend | React (Vite), Zustand, DND-kit, Socket.io-client, React Router, React Hot Toast |
| Backend | Node.js, Express.js, Socket.io, Passport.js, Stripe SDK, Multer |
| Database | MongoDB (Mongoose), Atlas |
| DevOps | JWT, BcryptJS, Morgan, Helmet, Express-Rate-Limit |
taskflow/
├── backend/ # SaaS API Service
│ ├── models/ # Data Schemas (Task, Board, Workspace, User)
│ ├── routes/ # API Endpoints & Business Logic
│ ├── services/ # External Integrations (Stripe, Email)
│ ├── config/ # Passport & DB Configuration
│ └── server.js # Real-time WebSocket & API Server
├── frontend/ # React Interface
│ ├── src/
│ │ ├── pages/ # Auth, Board, Dashboard, Landing, Pricing
│ │ ├── components/ # Reusable UI Elements
│ │ ├── store/ # Zustand State Management
│ │ └── services/ # API & Socket Clients
│ └── vite.config.js # Build Optimization
└── .gitignore # Multi-layer exclusion rules
git clone https://github.com/btare99/TaskFlow.git
cd taskflow
# Install dependencies for both parts
cd backend && npm install
cd ../frontend && npm installCreate a .env in the backend/ directory based on the .env.example provided. Ensure you have your MONGO_URI, JWT_SECRET, STRIPE_SECRET_KEY, and GOOGLE_CLIENT_ID ready.
Start Development Servers:
# In backend/
npm run dev
# In frontend/
npm run devThis repository uses automated secret scanning. Ensure that no real secrets are committed. Use .env files for all sensitive credentials.
Distributed under the MIT License.
Empowering productivity with TaskFlow.