All Projects
Backendintermediate View on GitHub

TaskFlow API

Production .NET REST API with EF Core, JWT auth, and PostgreSQL

3–4 hours to set up9 technologies7 guided steps

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

Build a production-grade REST API with Minimal API from scratch
Configure EF Core with PostgreSQL and write efficient async queries
Implement JWT auth with refresh token rotation
Wire up FluentValidation, Serilog, and health checks
Dockerize a .NET API and set up a complete CI/CD pipeline

Key Features

Minimal API with endpoint groups and typed results
EF Core with PostgreSQL, migrations, and async queries
JWT authentication with 15-min access + rotating refresh tokens
FluentValidation pipeline behavior for all endpoints
Serilog structured logging with request logging middleware
Health checks for DB + custom liveness/readiness endpoints
Docker + docker-compose for local development
GitHub Actions CI/CD pipeline (build, test, publish)
ProblemDetails error handling — no raw 500s
Pagination, sorting, and filtering on all list endpoints

Project Structure

directory tree
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

1

Clone the repository

Clone TaskFlow API and navigate into the project.

bash
git clone https://github.com/asmanasir/TaskFlow-API.git
cd TaskFlow-API
2

Start PostgreSQL with Docker

Spin up PostgreSQL and pgAdmin using docker-compose.

bash
docker-compose up -d db
3

Set up environment variables

Copy the example env file and configure your connection string and JWT secret.

bash
cp .env.example .env
# Set DATABASE_URL and JWT_SECRET_KEY in .env
4

Run EF Core migrations

Apply all migrations to create the database schema.

bash
dotnet ef database update

Running the Project

1

Run the API

Start the API — it auto-reloads on file changes.

bash
dotnet run
2

Open Scalar API docs

Navigate to the interactive API documentation.

bash
# Open in browser:
http://localhost:5000/scalar/v1
3

Run tests

Execute unit and integration tests.

bash
dotnet test

Project Info

CategoryBackend
Difficultyintermediate
Setup time3–4 hours to set up
Technologies9 tools

Tech Stack

ASP.NET Core (.NET 8)Minimal APIEF Core 8PostgreSQLJWTFluentValidationSerilogDockerGitHub Actions

Prerequisites

  • C# basics (classes, async/await, LINQ)
  • .NET 8 SDK installed
  • Docker Desktop installed
  • PostgreSQL installed or Docker available
View Source on GitHub
L

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.