TaskFlow is a monorepo productivity platform built with Next.js, Node.js, and Turborepo — designed to practice Clean Architecture, SOLID principles, and scalable system design.
The goal is to simulate a real-world SaaS ecosystem, including authentication, task management, team collaboration, analytics, and integrations.
- Next.js (App Router) with TypeScript
- React Query / TanStack Query for server state
- Zustand for local state management
- TailwindCSS + ShadCN/UI for styling
- SCI Charts for analytics dashboards
- Node.js + Express / NestJS-style Clean Architecture
- Prisma ORM with MySQL
- Zod for schema validation
- JWT-based authentication
- Docker for environment setup
- Turborepo for task and dependency orchestration
- Docker Compose for running api, frontend, and database
- ESLint + Prettier for linting and formatting
- Husky + Lint-Staged for git hooks
This project follows Clean Architecture principles:
/apps
/web → Next.js frontend
/api → Node.js API
/packages
/core → Domain entities, use-cases, interfaces
/ui → Shared UI components
/utils → Shared helpers & types| Layer | Description |
|---|---|
| Entities | Core business logic and domain models |
| Use Cases | Application-specific business rules |
| Infrastructure | Database, API, external services |
| Presentation | UI components and pages |
Detailed documentation for the project structure, architecture, and packages lives in the docs/ folder:
- Architecture — Layers, dependency rule, request path
- Data flow — End-to-end flow from HTTP to DB and events
- Monorepo — Workspaces, packages, build order, scripts
- Backend stack — Routes, controllers, middlewares
- Core / Infra / Shared — Use cases, repositories, DTOs, schemas
- Design patterns — SOLID, Clean Code, repository and use case patterns
- SOLID and Clean Architecture — How they’re applied in the codebase, with examples
Start with docs/README.md for the full index.
✅ Authentication (Sign up / Login / Forgot Password)
✅ Team & User management
✅ Task CRUD with tagging and filtering
✅ Real-time notifications (WebSockets)
✅ Analytics dashboards (task progress, velocity)
✅ Commenting and collaboration per task
✅ Audit logs and activity timeline
✅ Dockerized full environment (API + Web + MySQL)
✅ Unit and integration tests
git clone https://github.com/dev-mauricioAB/taskflow.git
cd taskflowdocker-compose up --builddocker exec -it taskflow-api npx prisma migrate deploy- Frontend → http://localhost:3000
- API → http://localhost:4000
- MySQL →
localhost:3306
turbo run testturbo run lint- Monorepo Setup
- Initialize Turborepo
- Setup base apps (
web,api) and shared packages
- Backend Architecture
- Configure Express + Clean Architecture structure
- Setup Prisma, migrations, and database models
- Implement Auth (JWT + refresh)
- Frontend Setup
- Initialize Next.js app
- Configure Tailwind, ShadCN, and Zustand
- Add auth pages and protected routes
- Core Features
- Task CRUD
- Teams and collaboration
- Real-time notifications (Socket.IO)
- Analytics dashboard
- DevOps / Tooling
- Docker Compose setup
- ESLint, Prettier, Husky
- CI/CD (optional)
This project is under the MIT License.
Feel free to fork, modify, and learn!
Author: Maurício Alexandre Barroso
💡 Practicing advanced frontend and backend architecture in a real-world context.