TaskFlow API
Production .NET REST API with EF Core, JWT auth, and PostgreSQL
About This Project
Build a complete task management REST API following the .NET 2026 roadmap. Covers Minimal API, EF Core with PostgreSQL, JWT authentication with refresh tokens, FluentValidation, Serilog, health checks, Docker, and GitHub Actions CI/CD. Every concept from the roadmap in one real project.
What You'll Learn
Key Features
Project Structure
TaskFlow-API/ ├── src/ │ ├── TaskFlow.Api/ # Minimal API endpoints + DI setup │ ├── TaskFlow.Application/ # CQRS handlers, validators, DTOs │ ├── TaskFlow.Domain/ # Entities, value objects, domain events │ └── TaskFlow.Infrastructure/ # EF Core, JWT, Serilog, external services ├── tests/ │ ├── TaskFlow.Unit/ # Handler unit tests │ └── TaskFlow.Integration/ # WebApplicationFactory + Testcontainers ├── docker-compose.yml └── .github/workflows/ci.yml
Setup Guide
Clone the repository
Clone TaskFlow API and navigate into the project.
git clone https://github.com/asmanasir/TaskFlow-API.git cd TaskFlow-API
Start PostgreSQL with Docker
Spin up PostgreSQL and pgAdmin using docker-compose.
docker-compose up -d db
Set up environment variables
Copy the example env file and configure your connection string and JWT secret.
cp .env.example .env # Set DATABASE_URL and JWT_SECRET_KEY in .env
Run EF Core migrations
Apply all migrations to create the database schema.
dotnet ef database update
Running the Project
Run the API
Start the API — it auto-reloads on file changes.
dotnet run
Open Scalar API docs
Navigate to the interactive API documentation.
# Open in browser: http://localhost:5000/scalar/v1
Run tests
Execute unit and integration tests.
dotnet test
Project Info
Tech Stack
Prerequisites
- C# basics (classes, async/await, LINQ)
- .NET 8 SDK installed
- Docker Desktop installed
- PostgreSQL installed or Docker available
Learnixo
Project Author
Follows the official .NET 2026 roadmap step by step. Every concept from the roadmap — Minimal API, EF Core, JWT, Docker, CI/CD — implemented in one cohesive project.