Skip to content

SatyaCMD/TaskSphere

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskSphere - Enterprise AI Project Management Platform

TaskSphere is a production-grade enterprise project management platform designed for modern product teams, startups, and agile organizations. It merges the capabilities of high-velocity project management software (such as Jira, Linear, and Notion) with Google Gemini-powered intelligence workflows, real-time sync, and DevOps insights.


🏗️ System Architecture Overview

Under production workloads (managed via Docker Compose), TaskSphere routes all network ingress through Nginx, serving frontend assets and reverse proxying core JSON API endpoints and Socket.io instances.

Tip

Complete Architecture & System Design Deep Dive: For an enterprise-grade deep dive of the 17 core technical chapters—including database design, security threat models, data lifecycles, background and cron queues, API standards, WebSocket rooms, AI governance, analytics calculations, observabilities, SLAs, infrastructure costs, disaster recovery, and operational runbooks—refer directly to the main SYSTEM_DESIGN.md document.

graph TD
    Client[Web Browser / Client] -->|HTTPS / WSS on Port 80| Nginx{Nginx Reverse Proxy}
    Nginx -->|Static Assets| WebRoot[Vite Static HTML/JS Dist]
    Nginx -->|Express Router /api| App[Express Backend Servers]
    Nginx -->|WebSockets /socket.io| SocketIO[Socket.io Server]
    
    App -->|Session Logs & Cache| Redis[(Redis Cluster)]
    SocketIO -->|Pub/Sub Adapter| Redis
    
    App -->|Write/Read Operations| DB[(MongoDB Cluster)]
    App -->|Push Jobs| Queue[BullMQ Job Queues]
    
    Worker[Background Queue Workers] -->|Process Email/Report Jobs| Queue
    Worker -->|Fetch Logs| Redis
    Worker -->|Read/Write| DB
    Worker -->|Gemini Inference API| Gemini[Google Gemini AI Models]
Loading

✨ Features

  • Kanban Board: Highly interactive visual task dashboard featuring HTML5 drag-and-drop mechanics, WIP limits, assigning structures, and story points badges.
  • 🔄 Sprint Planner: Management dashboard to construct active milestones, assign Backlog tasks, track velocities, and run Gemini-backed sprint forecasts.
  • 💡 AI Workspace: Integrated playground leveraging Gemini Pro model APIs to generate BDD Acceptance Criteria user stories, compile meeting minutes summaries, audit project delivery bottlenecks, and draft weekly status documents.
  • 📝 Markdown Wiki: Collaborative document editor featuring Notion-like layouts, side-by-side editing, live HTML preview compiling, and revision logs.
  • 📊 Metrics Analytics: Premium visualizations built with Recharts, mapping velocity histories, burn-down progressions, and ticket allocations.
  • 🔐 Security & Access: Dynamic JWT authentication incorporating secure cookies, dynamic CORS validation, and multi-user tenant settings.

🛠️ Technology Stack

Backend

  • Engine: Node.js, Express, TypeScript
  • Database: MongoDB (Mongoose ODM)
  • Caching & Messaging: Redis (bullmq queue management)
  • AI Integration: Google Generative AI (@google/generative-ai)
  • Security: Helmet, Express Rate Limiter, Bcrypt, JWT

Frontend

  • Framework: React 19 (TypeScript, Vite)
  • Styling: Tailwind CSS v4, Lucide React (Icons)
  • State Management: Redux Toolkit, React Query
  • Charts: Recharts
  • Animations: Framer Motion

🚀 Getting Started

Prerequisites

Make sure you have the following installed on your machine:

  • Node.js (v20+ recommended)
  • Docker & Docker Compose (for containerized setup)
  • Google Gemini API Key (get one at Google AI Studio)

Method A: Running Locally (Development)

1. Setup Backend

  1. Navigate to the backend directory:
    cd backend
  2. Install dependencies:
    npm install
  3. Create .env file from the example:
    cp .env.example .env
  4. Fill in your environment variables, including your Google Gemini API Key:
    PORT=5000
    MONGODB_URI=mongodb://localhost:27017/tasksphere
    REDIS_URL=redis://localhost:6379
    JWT_SECRET=super_secret_tasksphere_jwt_access_token_key_2026
    JWT_REFRESH_SECRET=super_secret_tasksphere_jwt_refresh_token_key_2026
    GEMINI_API_KEY=your_gemini_api_key_here
    NODE_ENV=development
  5. Ensure a local instance of MongoDB and Redis are running.
  6. Launch dev server:
    npm run dev

2. Setup Frontend

  1. Open a new terminal and navigate to the frontend directory:
    cd frontend
  2. Install dependencies:
    npm install
  3. Launch Vite dev server:
    npm run dev
  4. Open the browser at http://localhost:5173.

Method B: Running via Docker Compose (Single Command)

Docker Compose configures Nginx, Node.js backend, React frontend, MongoDB, and Redis instances in an isolated environment.

  1. Ensure you have created a .env file in the backend directory and configured your GEMINI_API_KEY.
  2. Set the GEMINI_API_KEY in your terminal or current session (Docker Compose passes this variables from your host context):
    • Windows PowerShell:
      $env:GEMINI_API_KEY="your_api_key_here"
    • Linux / macOS Bash:
      export GEMINI_API_KEY="your_api_key_here"
  3. Run the following command in the root folder of TaskSphere:
    docker compose up --build
  4. Access the platform at:
    • Frontend UI: http://localhost (Port 80)
    • Backend API Docs: http://localhost:5000/api-docs (Swagger)

🗄️ Database Schemas & Data Model

TaskSphere utilizes a structured relational-like schema design within MongoDB:

  • Organization: Workspace tenants holding users and billing tiers.
  • User: Member records containing hashed credentials, email tokens, and role variables (RBAC).
  • Project: Workgroups with unique alphanumeric ticket prefixes (e.g. TSP, MKT).
  • Task: The central work object containing title, description, story points, priority (low, medium, high, critical), issue type (task, bug, story, epic), assigned members list, and comments timelines.
  • Sprint: Milestones defining start/end windows and active velocities.
  • WikiPage: Documentation folders hosting Markdown syntax documents, categories, and author metadata.

📡 API Reference Directory

Detailed Swagger specifications are available at http://localhost:5000/api-docs. Below is a quick overview of primary routes:

Route Method Description
/api/auth/register POST Create a new user account
/api/auth/login POST Authenticate credentials and receive token
/api/auth/refresh POST Rotate JWT Refresh Token
/api/tasks GET / POST Fetch or construct task cards
/api/tasks/:id PUT / DELETE Modify status levels, descriptions, or delete
/api/sprints POST Construct active sprint targets
/api/wiki POST / GET Save wiki pages or list project document archives
/api/ai/user-story POST Prompt Gemini to create a BDD acceptance story
/api/ai/predict-risks POST Run pipeline dependency audits and risk mitigation forecasts
/api/analytics/project/:id GET Retrieve sprint completed/planned graphs data

About

Enterprise AI-powered SaaS project management platform built with React, Node.js, MongoDB, Redis, BullMQ, Socket.IO, Docker, Jenkins, Terraform, and AWS. Features multi-tenancy, RBAC, real-time collaboration, automation, analytics, and DevOps.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages