Skip to content

Latest commit

Β 

History

42 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TaskFlow AI

The work, made clear. TaskFlow AI helps your team plan with intention, see what's really moving, and turn everyday effort into insight β€” powered by Google Gemini.

React TypeScript Vite Node.js Express MongoDB Tailwind CSS Gemini AI

JWT Framer Motion Recharts License Stars Forks Issues Last Commit


πŸ“‘ Table of Contents

Click to expand

πŸ”­ Overview

TaskFlow AI is a next-generation project management tool built for modern teams. Moving beyond simple task tracking, TaskFlow AI leverages the power of Google Gemini AI to act as a proactive project managerβ€”helping you break down complex projects, prioritize work intelligently, and analyze productivity trends.

From its premium glassmorphism UI to its deeply integrated AI capabilities, TaskFlow AI provides a seamless workspace to manage everything from daily to-dos to large-scale team projects.


πŸ† Why TaskFlow AI?

While platforms like Trello, Notion, and ClickUp are powerful, TaskFlow AI differentiates itself through native AI integration and a premium, distraction-free aesthetic.

  • AI-First Design: It doesn't just store your tasks; it analyzes them. Gemini AI automatically suggests priority levels, identifies bottlenecks, and helps break down vague goals into actionable subtasks.
  • Productivity Analytics: Deep insights into how you work, complete with beautiful visualizations powered by Recharts.
  • Premium UX: Built to feel like a high-end macOS application or top-tier SaaS (Linear/Raycast style) with smooth Framer Motion animations, customizable accent colors, and persistent Dark Mode.

✨ Features

πŸ” Authentication

  • Google OAuth (Google Identity Services): Seamless one-tap login.
  • Continue as Guest: Instant access without account creation.
  • Email/Password Authentication: Traditional signup with secure password hashing.
  • JWT Authentication: Stateless and secure session management.
  • Protected Routes: React Router guarding private application views.
  • Google Account Linking: Automatically links Google logins to existing accounts.

🧠 AI Integration

  • AI Task Breakdown: Gemini AI intelligently splits large projects into manageable tasks.
  • AI Insights: Daily planning and productivity suggestions.
  • Estimated Effort: Automatically estimates task complexity.
  • Gemini-powered Project Planning: Native integration with Google's latest models.

πŸ“‹ Task Management

  • Drag & Drop Kanban: Move tasks seamlessly across columns.
  • Bulk Task Creation: Add multiple tasks efficiently.
  • Project CRUD: Create, read, update, and delete projects.
  • Task CRUD: Full lifecycle management for individual tasks.
  • Smart Status Management: Automatically updates workflows.

🀝 Collaboration

  • Collaborative Projects: Work together natively with multi-user project collaboration.
  • Secure Invite Link Sharing: Share projects safely with rotation and expiry.
  • Member Management: Track members and control access.
  • Task Assignment: Assign specific tasks to individual project members.
  • Activity Logging: Comprehensive audit logs for project and task actions.

βš™οΈ Settings & Experience

  • Theme Persistence: Stores user preferences in localStorage for Dark / Light Theme.
  • Accent Color Customization: Personalize the UI look and feel.
  • Layout Preferences: Adjust the workspace density to your liking.
  • Glassmorphism UI: Premium visual aesthetic with translucent elements.
  • Reduced Motion Support: Accessible animations tailored to user settings.

πŸ“ˆ Analytics

  • Personal Analytics: Productivity metrics are strictly isolated based on your assigned tasks.

πŸ“Š System Design & Architecture

User
   β”‚
   β–Ό
Authentication
   β”‚
   β–Ό
Projects
 β”œβ”€β”€ Owner
 β”œβ”€β”€ Members
 β”œβ”€β”€ Invite Links
 β”‚
 β–Ό
Tasks
 β”œβ”€β”€ Assignment
 β”œβ”€β”€ Activity
 β”‚
 β–Ό
AI
Analytics

πŸ’» Tech Stack

Frontend

  • Framework: React 18 with TypeScript (via Vite)
  • Styling: Tailwind CSS (v4)
  • Animations: Framer Motion
  • Icons: Lucide React
  • Data Visualization: Recharts
  • Networking: Axios with global interceptors
  • Routing: React Router v6

Backend

  • Runtime: Node.js
  • Framework: Express.js
  • Database: MongoDB
  • ORM/ODM: Mongoose
  • Authentication: JWT (JSON Web Tokens), bcrypt, & Google OAuth
  • AI Integration: @google/genai (Gemini API)
  • Language: TypeScript

Deployment

  • Frontend: Vercel
  • Backend: Render

πŸ“ Project Structure

taskflow-ai/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controllers/    # Request handlers (e.g., auth.controller.ts)
β”‚   β”‚   β”œβ”€β”€ middleware/     # Custom Express middleware (e.g., auth, errors)
β”‚   β”‚   β”œβ”€β”€ models/         # Mongoose schemas (User, Task, Project)
β”‚   β”‚   β”œβ”€β”€ routes/         # Express API routes
β”‚   β”‚   β”œβ”€β”€ services/       # Business logic (e.g., AI integration)
β”‚   β”‚   β”œβ”€β”€ app.ts          # Express app configuration
β”‚   β”‚   └── server.ts       # Server entry point
β”‚   β”œβ”€β”€ package.json
β”‚   └── tsconfig.json
β”‚
└── frontend/
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ components/     # Reusable UI components (Buttons, Cards, Inputs)
    β”‚   β”œβ”€β”€ context/        # React Contexts (Auth, Theme, Notifications)
    β”‚   β”œβ”€β”€ hooks/          # Custom React hooks
    β”‚   β”œβ”€β”€ layouts/        # Page layouts (Sidebar, Header)
    β”‚   β”œβ”€β”€ pages/          # Main application views (Dashboard, Settings, etc.)
    β”‚   β”œβ”€β”€ services/       # API integration layer
    β”‚   β”œβ”€β”€ types/          # TypeScript interfaces
    β”‚   β”œβ”€β”€ utils/          # Helper functions
    β”‚   β”œβ”€β”€ App.tsx         # Root component & routing
    β”‚   └── index.css       # Global styles & Tailwind config
    β”œβ”€β”€ index.html
    β”œβ”€β”€ vite.config.ts
    └── package.json

πŸš€ Installation

Follow these steps to get the project running locally.

1. Clone the repository

git clone https://github.com/MaybeSomeone-arc18/taskflow-ai.git
cd taskflow-ai

2. Install Frontend Dependencies

cd frontend
npm install

3. Install Backend Dependencies

cd ../backend
npm install

πŸ” Environment Variables

Create a .env file for the backend and a .env file for the frontend.

Frontend (frontend/.env)

Variable Description Example
VITE_API_URL The URL of your backend API http://localhost:5000/api/v1
VITE_GOOGLE_CLIENT_ID Google OAuth Client ID your-google-client-id.apps.googleusercontent.com

Backend (backend/.env)

Variable Description Example
PORT The port for the Express server 5000
MONGO_URI Your MongoDB connection string mongodb://localhost:27017/taskflow
JWT_SECRET Secret key for signing JSON Web Tokens your_super_secret_key_123
CLIENT_URL The URL of your frontend application http://localhost:5173
GOOGLE_CLIENT_ID Google OAuth Client ID for token verification your-google-client-id...
GEMINI_API_KEY Google Gemini API Key for AI features your-gemini-api-key

⚑ Run Project

You will need two terminal windows to run both the frontend and backend simultaneously.

Development

Terminal 1 (Backend):

cd backend
npm run dev

Terminal 2 (Frontend):

cd frontend
npm run dev

Production

Backend:

cd backend
npm run build
npm start

Frontend:

cd frontend
npm run build
# Serve the output from the `dist/` folder using Nginx, Vercel, or a static server.

🌐 API Endpoints

View Core API Endpoints
Method Endpoint Description Auth Required
POST /api/v1/auth/register Register a new user ❌
POST /api/v1/auth/login Authenticate user & get JWT ❌
POST /api/v1/auth/google Authenticate using Google OAuth ID token ❌
POST /api/v1/auth/guest Create a temporary guest session ❌
GET /api/v1/auth/me Get current logged-in user profile βœ…
PUT /api/v1/auth/password Change account password βœ…
GET /api/v1/projects Get all workspace projects βœ…
POST /api/v1/projects Create a new project βœ…
GET /api/v1/tasks Get all tasks (supports filtering) βœ…
POST /api/v1/tasks Create a new task βœ…
PUT /api/v1/tasks/:id Update a task (status, priority, etc) βœ…
DELETE /api/v1/tasks/:id Delete a task βœ…
POST /api/v1/ai/plan Generate AI task breakdowns βœ…
GET /api/v1/analytics Get user productivity metrics βœ…

πŸ›‘οΈ Authentication

TaskFlow AI features a multi-tiered authentication system ensuring a smooth user experience while maintaining robust security.

Users can log in via Email & Password Authentication, Google OAuth, or Guest Login. Google users are securely verified on the backend using the google-auth-library before a session is granted. All flows converge to issue a signed JSON Web Token (JWT Authentication), which is used to guard Protected Routes.

[ User ] 
   β”‚
   β”œβ”€ (A) Traditional Login -> bcrypt.compare()
   β”œβ”€ (B) Google OAuth -> Verify ID Token via google-auth-library
   β”œβ”€ (C) Guest Mode -> Generate temporary user profile
   β–Ό
[ Express API ]
   β”‚
   β”œβ”€ Generates signed JWT (includes user ID and Email)
   β–Ό
[ Frontend ]
   β”‚
   β”œβ”€ Stores JWT in LocalStorage
   β”œβ”€ Attaches `Authorization: Bearer <token>` to Axios Interceptor
   β–Ό
[ Protected API Routes ] ── Validates JWT signature ──► [ Access Granted ]

🧠 AI Workflow & Features

TaskFlow AI seamlessly integrates Google Gemini to elevate your workflow from passive tracking to active management.

AI Implementation Workflow:

  1. User Prompt: The user inputs a project idea or task description into the AI Planner.
  2. Backend: The Express server receives the prompt and constructs an engineered context.
  3. Gemini: The @google/genai model processes the request.
  4. JSON Parsing: The backend extracts and validates the structured JSON response from Gemini.
  5. Task Suggestions: The parsed array of sub-tasks, complete with estimated effort and priority, is generated.
  6. Displayed in AI Panel: The frontend renders the suggestions, allowing the user to seamlessly add them to their Kanban board.

Key AI Capabilities:

  • AI Task Breakdown: Automatically splits large objectives into actionable sub-tasks.
  • Daily Planner: Generates an optimized daily schedule based on active priorities.
  • Project Health: Assesses the current status and risks of your projects.

Privacy Note: Within collaborative projects, the AI context window explicitly exposes only your assigned tasks and unassigned tasks. It never exposes your teammates' assigned tasks, ensuring strict privacy isolation.


⚑ Performance

  • Optimized Rendering: React components are carefully memorized using useMemo and useCallback to prevent unnecessary re-renders, especially on the Kanban board.
  • Reusable Components: A robust design system built on generic UI components (Card, Button, Input).
  • Persistent Theme: Theme preferences, sidebar toggles, and user sessions are instantly hydrated from localStorage to prevent UI flicker.
  • Responsive Layout: Tailwind's utility-first approach ensures minimal CSS payload while maintaining a pixel-perfect layout across all devices.

πŸ”’ Security

  • JWT Authentication: Stateless, signed tokens securely manage sessions.
  • Password Hashing: bcrypt prevents raw passwords from being stored in the database.
  • Google OAuth Verification: Backend explicitly verifies Google ID tokens rather than trusting the client.
  • Route Protection: Frontend routing and backend middleware enforce strict authorization checks.
  • Member Authorization Middleware: Verifies project membership at the request level before granting access to project resources or tasks.
  • Invite Token Expiry: Secure, cryptographically generated invite links expire automatically and rotate on demand.
  • CORS: Cross-Origin Resource Sharing is strictly configured to only accept requests from the frontend client.
  • Rate Limiting: express-rate-limit mitigates brute-force attacks on auth endpoints and prevents invite generation spam.
  • Graceful Shutdown: The server executes a controlled close on critical exceptions, preventing active requests from being abruptly dropped.
  • Environment Variables: Sensitive keys are kept completely out of the source code.
  • Input Validation: Zod (Frontend) and Joi/Mongoose (Backend) ensure all inputs are sanitized.

🀝 Collaboration

TaskFlow AI Version 2.0 introduces native multi-player workspace features:

  • Project Sharing: Easily share workspaces with other users.
  • Invite Links: Generate secure tokens to securely onboard members.
  • Member Management: Project creators can view and remove members on demand.
  • Task Assignment: Tasks can be explicitly assigned to project members to eliminate workflow ambiguity.
  • Activity Tracking: A detailed audit log tracks core project lifecycle events (joins, leaves, task creation, assignments, and completions).

πŸ“Έ Screenshots

UI previews of TaskFlow AI.

Dashboard

Dashboard

Kanban Board

Kanban

Analytics

Analytics

AI Planner

AI Planner

Login

Login

Register

Register

Settings

Settings


πŸš€ Deployment

The platform is designed to be easily deployed to modern cloud providers:

  • Frontend: Vercel (Recommended for Vite/React applications)
  • Backend: Render or Heroku (Node.js/Express)
  • Database: MongoDB Atlas (Cloud database)

Ensure all environment variables from .env are configured in your deployment platform's dashboard.


πŸ“ˆ Future Vision & Roadmap

  • Collaborative Projects: Invite links, task assignment, and shared workspaces (Released in v2.0).

  • Data Privacy Isolation: Analytics and AI models isolate data by assignee (Released in v2.0).

  • Real-time Collaboration: WebSockets for live Kanban board updates across teams.

  • Team Workspaces: Role-based access control (Admin, Member, Viewer).

  • AI Chat Assistant: A sidebar AI agent to query project status.

  • Google Calendar Sync: Two-way synchronization for deadlines.

  • Slack Integration: Push notifications for task updates.


⚠️ Known Limitations

  • Guest Accounts: Guest sessions are permanent in the database until manually cleaned up. Future updates will introduce an automated cron job to purge inactive guest accounts.
  • Offline Support: The application currently requires an active internet connection to interact with the database and AI features.

πŸ§— Challenges Faced

  • Authentication Architecture: Designing a seamless system that elegantly handles traditional logins, Google OAuth linking, and temporary Guest sessions without compromising the data model.
  • Gemini Model Compatibility: Parsing unstructured text responses from the AI into strictly typed JSON objects required careful prompt engineering and fallback validation.
  • Environment Variable Management: Managing separate environments for frontend builds (Vite) and backend servers required a disciplined approach to avoid leaking secrets.

🌟 Project Highlights

  • Modern SaaS UI: A beautiful, responsive interface designed to feel like a premium SaaS product (e.g., Linear, Vercel).
  • Google OAuth & JWT: A robust, hybrid authentication architecture built for scale.
  • AI-First Project Management: Moving beyond manual task entry by integrating Google Gemini for automated planning.
  • Drag & Drop Kanban: A fluid, native-feeling task management experience built on modern React principles.

🀝 Contributing

Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“œ License

Distributed under the MIT License. See LICENSE for more information.


πŸ‘¨β€πŸ’» Developer

Made with ❀️ by Sanskar Kharya

GitHub LinkedIn Portfolio Email


Visitor Counter





About

Plan and track team projects, see what's actually moving. React, Express, MongoDB, Gemini.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages