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.
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]
- ⚡ 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.
- 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
- Framework: React 19 (TypeScript, Vite)
- Styling: Tailwind CSS v4, Lucide React (Icons)
- State Management: Redux Toolkit, React Query
- Charts: Recharts
- Animations: Framer Motion
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)
- Navigate to the backend directory:
cd backend - Install dependencies:
npm install
- Create
.envfile from the example:cp .env.example .env
- 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
- Ensure a local instance of MongoDB and Redis are running.
- Launch dev server:
npm run dev
- Open a new terminal and navigate to the frontend directory:
cd frontend - Install dependencies:
npm install
- Launch Vite dev server:
npm run dev
- Open the browser at
http://localhost:5173.
Docker Compose configures Nginx, Node.js backend, React frontend, MongoDB, and Redis instances in an isolated environment.
- Ensure you have created a
.envfile in the backend directory and configured yourGEMINI_API_KEY. - Set the
GEMINI_API_KEYin 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"
- Windows PowerShell:
- Run the following command in the root folder of TaskSphere:
docker compose up --build
- Access the platform at:
- Frontend UI:
http://localhost(Port 80) - Backend API Docs:
http://localhost:5000/api-docs(Swagger)
- Frontend UI:
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.
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 |