βββββββ βββββββββββ βββ βββββββ βββββββ βββ βββ ββββββ βββββββ
βββββββββββββββββββ βββββββββββββββββββββββ βββ ββββββββββββββββ
βββ βββββββββ βββ ββββββ βββ ββββββ βββ ββββββββββββββββ
βββ βββββββββ ββββ βββββββ βββ ββββββ βββ ββββββββββββββββ
ββββββββββββββββ βββββββ βββββββββββββββββββββββββ βββββββββββ βββββββββββ
βββββββ ββββββββ βββββ βββββββ βββββββ ββββββββ βββββββββββ ββββββββββ
Jira + Notion + VS Code + Slack β in one app. Zero switching.
π Live at β devcollab-gamma.vercel.app
π‘ Real-time kanban, AI-powered planning, Monaco code editor β all in one window.
- β¨ Features
- π Architecture
- π¦ Module Status
- π Quick Start
- βοΈ Environment Variables
- π€ AI Intelligence Center
- π£ API Routes
- π³ Docker Services
- π Hackathon
- π₯ Team
| Feature | Description | |
|---|---|---|
| π’ | Workspace & Projects | Multi-tenant workspaces with role-based access β Owner / Admin / Member / Viewer |
| π | Kanban Board | Real-time drag-and-drop with P0/P1/P2 priorities, assignees, due dates, labels, attachments & @mention comments |
| β‘ | Real-time Collaboration | Socket.IO + Redis pub/sub β live presence indicators, online avatars, task viewers, instant sync across all users |
| π₯ | Monaco Code Editor | Full VS Code engine in-browser with file tree, multi-tab, auto-save & syntax highlighting for 20+ languages |
| π | Code Snippet Manager | Shiki syntax highlighting, tag-based search, copy-to-clipboard, open directly in editor |
| π | Documentation Wiki | Tiptap rich-text editor with version history, page linking, image uploads & AI summarization |
| π€ | AI Intelligence Center | 6 Gemini-powered tools that read your actual project data β plans, reviews, standups and more |
| π¬ | Project Chat | WhatsApp-quality messaging with @mentions, emoji reactions, reply threads, edit history & presence |
| π‘ | Activity Feed | Live workspace timeline β every action logged and streamed in real time |
| π | Notifications | Real-time push via Socket.IO β @mention alerts, assignment pings, unread count badge |
| π³ | Billing & Pro Tier | Free / Pro plans with Razorpay sandbox checkout and feature-gating via ProGate |
βββββββββββββββββββββββββββββββββββββββ
β User's Browser β
ββββββββββββ¬βββββββββββββββ¬βββββββββββββ
β HTTP β WS
ββββββββββββΌβββββββββββββββΌβββββββββββββ
β Nginx (Port 80) β
ββββββββββββ¬βββββββββββββββ¬βββββββββββββ
β β
ββββββββββββββββββββββΌβββ βββββββββΌβββββββββββββββββββββ
β Frontend (React 18) β β Backend (Fastify / Node) β
β Vite Β· Zustand β β TypeScript Β· JWT Auth β
β Monaco Β· Tiptap β β BullMQ Β· Socket.IO β
β Socket.IO Client β β Port 3000 β
βββββββββββββββββββββββββ ββββ¬βββββββ¬βββββββ¬βββββββββββββ
β β β
ββββββββββββββββββββββΌβββ β β
β PostgreSQL 16 β β β
β (raw pg β no ORM) β β β
βββββββββββββββββββββββββ β β
βββββββββΌβββ β
β Redis 7 β β
β Socket.IO β β
β Adapter β β
β + Cache β β
βββββββββββββ β
βββββββββββΌβββββββββββ
β External Services β
β βββββββββββββββββ β
β β Gemini API β β
β β (AI + Stream)β β
β βββββββββββββββββ β
β βββββββββββββββββ β
β β Razorpay β β
β β (Payments) β β
β βββββββββββββββββ β
β βββββββββββββββββ β
β β SMTP / Email β β
β βββββββββββββββββ β
ββββββββββββββββββββββ
Horizontally scalable: The Socket.IO Redis adapter lets you run multiple backend instances behind a load balancer β all instances share real-time state via Redis pub/sub.
| # | Module | Status | Description |
|---|---|---|---|
| 1 | π’ Workspace & Projects | β Complete | Multi-tenant, RBAC (Owner/Admin/Member/Viewer), invite links |
| 2 | π Kanban Board | β Complete | Drag-and-drop, priorities, assignees, due dates, comments |
| 3 | β‘ Real-time Collaboration | β Complete | Socket.IO + Redis adapter, presence, live cursors |
| 4 | π₯ Monaco Code Editor | β Complete | VS Code engine, file tree, multi-tab, 20+ languages |
| 5 | π Code Snippet Manager | β Complete | Shiki highlighting, tag search, editor integration |
| 6 | π Documentation Wiki | β Complete | Tiptap rich text, version history, image uploads |
| 7 | π€ AI Intelligence Center | β Complete | 6 Gemini tools β plans, reviews, standups, engineering plans |
| 8 | π¬ Project Chat | β Complete | @mentions, reactions, threads, edit/delete, presence |
| 9 | π‘ Activity Feed | β Complete | Live workspace timeline, all actions streamed in real time |
| 10 | π Notifications | β Complete | Real-time push, @mention alerts, unread badge count |
| 11 | π³ Billing | β Complete | Free/Pro tiers, Razorpay sandbox, ProGate feature gating |
# 1. Clone the repo
git clone https://github.com/your-org/devcollab.git
cd devcollab
# 2. Copy environment file
cp .env.example .env
# 3. Fill in required secrets (see Environment Variables below)
# JWT_SECRET, JWT_REFRESH_SECRET, GEMINI_API_KEY
# 4. Launch everything
docker-compose up --build| Service | URL |
|---|---|
| π Frontend | http://localhost |
| βοΈ Backend API | http://localhost:3000 |
| π₯ Health Check | http://localhost:3000/api/health |
# 1. Install all workspace dependencies
npm install
# 2. Start infrastructure services only
docker-compose up -d postgres redis
# 3. Start frontend + backend concurrently
npm run dev| Service | URL |
|---|---|
| π Frontend (Vite HMR) | http://localhost:5173 |
| βοΈ Backend API | http://localhost:3000 |
Copy .env.example to .env and configure:
| Variable | Required | Description |
|---|---|---|
DATABASE_URL |
β | PostgreSQL connection string |
REDIS_URL |
β | Redis connection string |
JWT_SECRET |
β | Secret for signing access tokens |
JWT_REFRESH_SECRET |
β | Secret for signing refresh tokens |
GEMINI_API_KEY |
β | Google Gemini API key |
GEMINI_MODEL |
β | Primary Gemini model (e.g. gemini-2.5-flash-preview-05-20) |
GEMINI_FALLBACK_MODEL |
β | Fallback model for quota limits |
AI_MOCK_MODE |
βοΈ | Set true in dev to skip real AI calls |
RAZORPAY_KEY_ID |
βοΈ | Razorpay sandbox key ID |
RAZORPAY_KEY_SECRET |
βοΈ | Razorpay sandbox secret |
SMTP_HOST |
βοΈ | Email server host (e.g. smtp.gmail.com) |
SMTP_PORT |
βοΈ | Email server port (e.g. 587) |
SMTP_USER |
βοΈ | SMTP username / email address |
SMTP_PASS |
βοΈ | SMTP app password |
FRONTEND_URL |
βοΈ | Frontend origin for CORS (e.g. http://localhost:5173) |
PORT |
βοΈ | Backend server port (default: 3000) |
β = required to run Β· βοΈ = required for that feature
Powered by Google Gemini β six AI tools that read your actual project data:
π Expand AI Feature Details
| Tool | What it does |
|---|---|
| π Wiki Plan Generator | Reads your wiki requirements β streams a week-by-week delivery plan β auto-creates tasks on the board in real time |
| π Code Reviewer | Analyses any code snippet β returns quality score (1β10), bug list, security issues & performance notes |
| π Project Summariser | Reads all your project tasks β produces a health report with blockers, velocity & risk signals |
| βοΈ Standup Generator | Reads last 24 h of activity β outputs a formatted standup report ready to paste in Slack |
| π Engineering Plan | Describe a feature β generates 8 actionable subtasks and adds them to your Kanban board automatically |
| π‘ Snippet Explainer | Pastes any code snippet β returns a plain-English explanation of what it does |
π Full API Reference
All routes are prefixed with /api. JWT Bearer token required on protected routes.
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/auth/register |
Register new user account |
POST |
/api/auth/login |
Login and receive JWT pair |
POST |
/api/auth/refresh |
Refresh access token |
GET |
/api/auth/me |
Get current authenticated user |
| β | β | β |
GET |
/api/workspaces |
List user's workspaces |
POST |
/api/workspaces |
Create a new workspace |
GET |
/api/workspaces/:id |
Get workspace details |
PATCH |
/api/workspaces/:id |
Update workspace |
DELETE |
/api/workspaces/:id |
Delete workspace |
POST |
/api/workspaces/:id/invite |
Generate invite link |
GET |
/api/workspaces/:id/members |
List workspace members |
| β | β | β |
GET |
/api/projects |
List projects in workspace |
POST |
/api/projects |
Create project |
GET |
/api/projects/:id |
Get project |
PATCH |
/api/projects/:id |
Update project |
DELETE |
/api/projects/:id |
Delete project |
| β | β | β |
GET |
/api/tasks/project/:projectId |
List tasks (filterable by status/priority) |
POST |
/api/tasks |
Create task |
GET |
/api/tasks/:id |
Get task with comments |
PATCH |
/api/tasks/:id |
Update task (status, priority, assigneeβ¦) |
DELETE |
/api/tasks/:id |
Delete task |
POST |
/api/tasks/:id/comments |
Add comment |
GET |
/api/tasks/:id/comments |
Get task comments |
| β | β | β |
GET |
/api/snippets/project/:projectId |
List snippets |
POST |
/api/snippets |
Create snippet |
GET |
/api/snippets/:id |
Get snippet |
PATCH |
/api/snippets/:id |
Update snippet |
DELETE |
/api/snippets/:id |
Delete snippet |
GET |
/api/snippets/project/:id/search?q= |
Search by title or tags |
| β | β | β |
GET |
/api/wiki/:projectId |
Get wiki pages |
POST |
/api/wiki |
Create wiki page |
PATCH |
/api/wiki/:id |
Update wiki page |
DELETE |
/api/wiki/:id |
Delete wiki page |
| β | β | β |
GET |
/api/chat/:projectId/messages |
Get chat messages |
POST |
/api/chat/:projectId/messages |
Send message |
| β | β | β |
GET |
/api/activity/:workspaceId |
Get workspace activity feed |
GET |
/api/notifications |
Get user notifications |
PATCH |
/api/notifications/:id/read |
Mark notification as read |
| β | β | β |
GET |
/api/ai/tools |
List available AI tools |
POST |
/api/ai/run |
Run an AI tool (streaming SSE) |
| β | β | β |
GET |
/api/billing/plans |
Get billing plans |
POST |
/api/billing/checkout |
Initiate Razorpay checkout |
POST |
/api/billing/verify |
Verify payment signature |
| β | β | β |
GET |
/api/health |
Health check |
| Service | Image | Port | Purpose |
|---|---|---|---|
frontend |
Custom build | 80 β 5173 |
React + Vite dev server |
backend |
Custom build | 3000 |
Fastify API + Socket.IO |
postgres |
postgres:16-alpine |
5432 |
Primary database |
redis |
redis:7-alpine |
6379 |
Pub/sub + job queues |
# Useful Docker commands
docker-compose up --build # Build and start all services
docker-compose up -d postgres redis # Start only infra
docker-compose down # Stop all services
docker-compose logs -f backend # Stream backend logs
docker-compose ps # Check service healthββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DevFusion: The Developers Hackathon 2.0 β
β Problem Statement: #26ENDC6 β DevCollab β
β Built in 10 days Β· 4 engineers Β· 0 sleep β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Why DevCollab?
Developer teams lose hours daily juggling Jira for tasks, Notion for docs, VS Code for code, and Slack for chat β four separate tools that don't talk to each other. DevCollab collapses all of that into a single, AI-aware, real-time platform. Every module is purpose-built for how engineering teams actually work, and the AI layer reads your actual project data β not generic summaries β to deliver plans and insights that are immediately useful.
| Principle | Implementation |
|---|---|
| π Zero app switching | Board, editor, wiki, chat, snippets β all in one sidebar nav |
| β‘ Real-time by default | Every action broadcasts via Socket.IO instantly β no polling, no refresh |
| π§ AI that knows your project | Gemini reads your real wiki pages and tasks before responding |
| π Production-grade architecture | Redis adapter enables horizontal scaling of real-time layer |
| π³ Fully Dockerized | One docker-compose up --build and the entire stack is running |
|
Smith C βοΈ smithc.cse2024@citchennai.net π Resume Β· πΌ LinkedIn Β· π GitHub |
Libin Anto E βοΈ libinantoe.aids2024@citchennai.net π Resume Β· πΌ LinkedIn Β· π GitHub |
Sanjay Balan M βοΈ sanjaybalanm.cse2024@citchennai.net π Resume Β· πΌ LinkedIn Β· π GitHub |
Balaji V βοΈ balajiv.cse2024@citchennai.net π Resume Β· πΌ LinkedIn Β· π GitHub |
devcollab/
βββ apps/
β βββ frontend/ # React 18 + Vite + TypeScript
β β βββ src/
β β βββ components/ # Shared UI components
β β βββ pages/ # Route-level pages (board, editor, wikiβ¦)
β β βββ stores/ # Zustand global state
β β βββ hooks/ # Custom React hooks
β β βββ services/ # API service layer
β β βββ lib/ # Axios instance, socket client
β βββ backend/ # Fastify + Node.js + TypeScript
β βββ src/
β βββ modules/ # Feature modules (auth, task, wiki, aiβ¦)
β βββ socket/ # Socket.IO server + event handlers
β βββ db/ # Raw pg queries & migrations
β βββ middleware/ # Auth, error handling
β βββ redis/ # Redis client + pub/sub helpers
β βββ utils/ # Shared utilities
βββ docker-compose.yml # Full stack orchestration
βββ docker-compose.prod.yml # Production configuration
βββ .env.example # Environment variable template
π¦ Full Dependency List
Frontend
| Package | Purpose |
|---|---|
| React 18 | UI framework |
| Vite | Build tool & dev server |
| TypeScript | Type safety |
| TailwindCSS | Utility-first styling |
| Monaco Editor | VS Code engine in-browser |
| Tiptap | Rich text editor (Wiki) |
| Socket.IO Client | Real-time bi-directional events |
| Zustand | Lightweight global state |
| Lucide React | Icon library |
| Shiki | Syntax highlighting (snippets) |
Backend
| Package | Purpose |
|---|---|
| Fastify | High-performance HTTP server |
| Node.js | JavaScript runtime |
| TypeScript | Type safety |
pg (raw) |
PostgreSQL driver β no ORM |
Redis (ioredis) |
Pub/sub, caching, adapter |
| Socket.IO | WebSocket server |
@socket.io/redis-adapter |
Horizontal scaling |
| BullMQ | Background job queues |
JWT (@fastify/jwt) |
Authentication tokens |
External Services
| Service | Usage |
|---|---|
| Google Gemini API | AI tools (streaming SSE) |
| Razorpay | Payment processing (sandbox) |
| SMTP | Email notifications & invites |
