A project management platform for developers — a Jira/Linear clone built with ASP.NET Core and React. Features real-time collaboration, task dependencies, time tracking, and more.
DevFlow helps software teams plan sprints, manage tasks on a Kanban board, and ship faster. Built as a long-term learning project with a strong focus on architecture, testing, and DevOps practices.
Backend
| Layer | Technology |
|---|---|
| Framework | ASP.NET Core 8 Web API |
| Architecture | Clean Architecture, CQRS + MediatR |
| Database | PostgreSQL + EF Core |
| Auth | JWT access tokens + rotating refresh tokens |
| Testing | xUnit (436 unit tests) |
| DevOps | Docker Compose, GitHub Actions |
Frontend
| Layer | Technology |
|---|---|
| Framework | React 19 + TypeScript + Vite |
| Styling | Tailwind CSS v4 with a generated design system |
| Routing | React Router v7 |
| Drag & drop | Native HTML5 DnD (no library) |
- JWT auth with silent refresh — page reloads keep you signed in
- Workspaces with role-based access (Owner / Admin / Member) enforced server-side
- Projects with keys, archive lifecycle, and project-level member RBAC
- Kanban board: drag cards between Backlog → In Progress → In Review → Done, with assignee/epic swimlanes
- Realtime boards via SignalR — changes made by teammates appear instantly
- Task detail panel with comments thread, watchers, and attachments
- Sprints API with single-active-sprint invariant per project
- Declarative authorization via pipeline behavior (
[RequireWorkspaceRole])
- Task Dependencies — block tasks with blockers (project-wide dependency graph, blocked-state badges on the board), plus epic-to-epic dependencies
- AI Agent — real LLM planning (provider-agnostic: OpenAI, LiteLLM, Ollama, …) with knowledge-gated prompts and per-project self-approval
- Time Tracking — log time on tasks, story-point estimates vs actual
- Labels & Custom Fields — color-coded labels, typed custom fields (text/number/date/select)
- Task Templates & Bulk Operations — reusable templates, import/export (JSON/CSV/XLSX)
- Notifications — in-app + email preferences, real-time updates
- Activity Log — track all changes across projects
- Knowledge Base — ADR / Pattern / Runbook entries with lifecycle, auto-captured when tasks ship
- Search — global search (Ctrl+K) across tasks, projects, epics, labels, users, comments; saved searches
- GitHub Integration — repo linking, PR tracking, webhooks with dead-letter queue (admin inspect/replay)
- Burndown Charts — sprint progress at a glance
- Velocity Metrics — completion rates across sprints
- Team Report — per-member stats, cycle/lead-time percentiles
- Dark/Light Theme — toggle with persistent preference
- Mobile Navigation — responsive sidebar with bottom bar
- Settings — profile, appearance, notification preferences
- Workspace/Project Branding — emoji logos, project cover gradients
docker compose up -d # Postgres + Redis
dotnet run --project src/DevFlow.Api
# API on http://localhost:5217, Swagger UI includedcd frontend
npm install
npm run dev # http://localhost:3000, proxies /api to :5217- Development guide — setup, testing, migrations, conventions
- Architecture — solution layout, CQRS pipeline, data flow
- API guide — REST API, auth, and production endpoints
- Design system — tokens, colors, typography
- Agent guidelines — how AI agents coordinate on this repo
- Solution setup with Clean Architecture
- Docker Compose (Postgres + Redis)
- Health checks, structured logging (Serilog)
- Authentication (JWT + Refresh Token), Google OAuth
- Role-Based Authorization (workspace + project level)
- Workspace / Project / Sprint / Kanban Board & Tasks
- Comments, Realtime updates (SignalR), Notifications & Activity Log
- File & Attachment Upload (size + type safety)
- Redis caching layer
- Integration tests with Testcontainers
- Sprint planning UI, Burndown Charts, Velocity Metrics
- Task Dependencies, Time Tracking, Labels, Custom Fields
- GitHub Integration, Email Notifications
- Bulk Operations, Task Templates, Import/Export
- Webhook Dead-Letter Queue (admin retry)
- Saved Searches, My Tasks (cross-project)
- Board Swimlanes (assignee / epic)
- Knowledge Base (Wiki / ADR / Runbook + auto-capture)
- AI Agent (real LLM planning + self-approval)
- Public roadmap / changelog page