Open-source team workspace for projects, tasks, ownership, audit visibility, and realtime progress.
TaskFlow is a full-stack monorepo that combines a production-oriented NestJS API with a polished Next.js and React frontend. It is built to feel like a real product: secure auth, role-aware collaboration, concurrency-safe writes, audit trails, realtime updates, and a premium workspace UI.
TaskFlow is built for teams that move fast and still need structure. It turns scattered updates, task drift, and hidden ownership into one visible operating surface for delivery.
It is a strong fit when you want:
- clear project ownership
- visible task movement
- safe, concurrency-aware updates
- traceable business actions
- fast setup without enterprise bloat
It is designed to work both as:
- a usable internal team tool
- a strong open-source portfolio project
- a production-ready base for a hosted SaaS product
TaskFlow is not just a CRUD dashboard. It is opinionated around product-grade reliability:
- writes can be retried safely
- stale clients cannot silently overwrite newer data
- important actions stay auditable
- frontend screens are built to feel like a real product, not scaffolding
- the repo already ships with a real production deployment path
- Full-stack monorepo with
NestJS,Next.js,Prisma,PostgreSQL, andSocket.IO - Premium landing page and polished workspace UI
- JWT auth with refresh rotation
- Role-aware workspace and project permissions
- Project and task management with assignment workflows
- Optimistic concurrency control with
If-Match - Idempotent write protection with
Idempotency-Key - Hash-chained audit log for critical actions
- Realtime project updates over Socket.IO
- Optional AI assistant mode with zero-cost fallback
- Local one-command bootstrap
- Dockerized production deployment with nginx reverse proxy
Full visual tour of the product surface, from landing to the signed-in workspace.
The public front door: brand, product story, and the live product preview that makes the repository feel like a serious application from the first scroll.
The signed-in command surface: runtime telemetry, live workspace canvas, and recent activity in one place.
The core collaboration screen: members, project activity, and a dense board view that keeps active work visible.
Project creation and project discovery in one screen, including search, filters, and quick entry into active boards.
Detailed task editing plus the roadmap canvas for planning, diagrams, notes, and visual task execution context.
Cross-project task visibility with filtering, version-aware status context, and fast entry back into the relevant board.
A workspace-wide people view showing role, project scope, and workload signals across the system.
Administrative event history with request tracing, actor visibility, and hash-chain metadata.
- Marketing landing page with premium product presentation
- Dedicated auth flow for sign in and registration
- Unified workspace shell with sidebar and topbar navigation
- Responsive, product-style UI rather than starter-template layouts
- Create and manage projects
- Add, remove, and re-role project members
- Create, list, update, assign, unassign, and delete tasks
- Workspace-wide task views
- Task detail page with roadmap support
- Access + refresh JWT flow
- Refresh token rotation
- Strict validation and throttling
helmethardening- Production CORS allow-list
- Optimistic concurrency for safe updates
- Idempotent writes for retry-safe clients
- Workspace overview dashboard
- Realtime project updates via Socket.IO
- Notification and activity views
- Tamper-evident audit records
- Request correlation with
x-request-id
- Workspace-aware assistant endpoints
- Free
BASICmode using internal workspace data - Optional
LLMmode through OpenAI-compatible configuration - Automatic fallback to local mode when provider is unavailable
NestJS 11TypeScriptPrisma ORMPostgreSQLSocket.IOSwagger / OpenAPIJest + Supertest
Next.js 16(App Router)React 19TypeScriptsocket.io-clientPlaywright
DockerDocker ComposenginxpnpmTurborepo
apps/
api/ NestJS backend API
web/ Next.js frontend app
packages/
ui/ Shared UI primitives
eslint-config/
typescript-config/
deploy/
nginx.prod.conf
flowchart LR
Browser[Browser] --> Nginx[nginx]
Nginx --> Web[Next.js Web]
Nginx --> API[NestJS API]
API --> Prisma[Prisma]
Prisma --> Postgres[(PostgreSQL)]
API --> Realtime[Socket.IO Gateway]
Browser -. websocket .-> Realtime
API -. optional .-> LLM[OpenAI-Compatible Provider]
Node.js 18+pnpmDocker
From the repository root:
pnpm setup:devThis command:
- creates missing local env files
- installs dependencies
- starts PostgreSQL and Redis
- applies Prisma migrations
- seeds the database
- starts the full development workspace
This is the fastest way to get a fresh clone into a working state.
- Web:
http://localhost:3002 - API:
http://localhost:3001/api - Swagger:
http://localhost:3001/api/docs
Base seed includes:
admin@test.comuser1@test.comuser2@test.com
Password for seeded demo users:
123456
pnpm dev- start the full development workspacepnpm build- build all packagespnpm lint- run lint across the monorepopnpm check-types- run type checks across the monorepopnpm format- run Prettier on supported files
pnpm --filter api devpnpm --filter api buildpnpm --filter api start:prodpnpm --filter api lintpnpm --filter api test:unitpnpm --filter api test:qualitypnpm --filter api test:e2epnpm --filter api test:e2e:cipnpm --filter api seed:workflowpnpm --filter api seed:workflow:heavy
pnpm --filter web devpnpm --filter web buildpnpm --filter web startpnpm --filter web lintpnpm --filter web check-typespnpm --filter web test:e2epnpm --filter web test:e2e:uipnpm --filter web exec playwright install
TaskFlow includes a Dockerized production deployment path out of the box.
Included files:
apps/api/Dockerfileapps/web/Dockerfileapps/api/.env.production.exampledocker-compose.prod.ymldeploy/nginx.prod.conf
- Create the backend production env file:
cp apps/api/.env.production.example apps/api/.env.production- Edit
apps/api/.env.productionand set:
JWT_ACCESS_SECRETJWT_REFRESH_SECRETCORS_ORIGINS
- Start the production stack:
pnpm prod:upThis starts:
- PostgreSQL
- Redis
- NestJS API
- Next.js web app
- nginx reverse proxy on port
80
This means a fresh server can boot the full product stack with one production command after env setup.
- App:
http://YOUR_SERVER_IP/ - API:
http://YOUR_SERVER_IP/api - Swagger:
http://YOUR_SERVER_IP/api/docs
pnpm prod:uppnpm prod:logspnpm prod:down
- Unit tests for services and controllers
- E2E coverage for core API workflows
- Coverage thresholds on critical backend modules
- Playwright end-to-end tests for real user flows
- Navigation and key app paths tested through the browser layer
For package-specific technical references:
- Backend doc: apps/api/README.md
- Frontend doc: apps/web/README.md
TaskFlow is a strong base for:
- internal team workspaces
- startup MVPs for project management
- portfolio-grade full-stack architecture showcases
- open-source experimentation with auth, concurrency, auditability, and realtime collaboration
Potential next steps for the project:
- richer notification center with read/unread state controls
- expanded frontend unit/component test coverage
- file attachments for tasks and projects
- invitation flows by email
- deeper assistant workflows and project summaries
- deployment presets for TLS and cloud hosting
- metrics and health dashboards for ops visibility
TaskFlow already has the pieces that make an open-source launch credible:
- a real backend architecture
- a polished frontend experience
- tests across backend and frontend flows
- production deployment documentation
- package-level docs for both major apps
That makes this repository easy to understand, run locally, evaluate, and extend.
If you want to extend TaskFlow:
- Fork the repository
- Run
pnpm setup:dev - Create a feature branch
- Add tests for behavior changes
- Open a pull request
Keeping contributions aligned with the current style matters:
- concise, useful comments
- production-minded code paths
- test coverage for critical logic
- no unnecessary boilerplate
This project is currently private-source in structure but prepared to be published as open source.
If you plan to publish it publicly, add the final license file you want to distribute with the repository, for example:
MITApache-2.0GPL-3.0
TaskFlow already includes:
- a working backend API
- a polished frontend application
- automated tests
- Dockerized production deployment
- package-level technical documentation
The next natural step is revision, refinement, and modification.







