Skip to content

About

ASP.NET Core task-tracking REST API with SQL Server, EF Core, tests, Docker, CI, and AWS deployment notes.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

MiniSprintBoard

MiniSprintBoard is a small ASP.NET Core REST API for tracking simple team tasks. I built it as a junior-friendly portfolio project to practice C#, .NET, SQL Server, tests, Docker, GitHub Actions, and basic cloud thinking.

The project is intentionally small. It is not meant to look like a senior-level production platform. The goal is to show that I understand the basics, can document decisions, and can learn in a structured way.

Portfolio project date: 5 June 2026.

Screenshots

Swagger API documentation:

Swagger endpoints

Example request and response:

API request and response

What It Shows

  • C# and ASP.NET Core Minimal API.
  • REST endpoints for creating, listing, updating, and deleting tasks.
  • SQL Server persistence with Entity Framework Core.
  • Basic repository and service layers.
  • Unit tests for business logic.
  • Integration test for the HTTP API.
  • Docker Compose with SQL Server.
  • GitHub Actions CI pipeline.
  • Short AWS learning notes with App Runner, ECR, RDS, and CloudWatch.
  • SDLC notes with backlog examples, Definition of Done, Git workflow, and estimates.

API Endpoints

Method Endpoint Description
GET /health Health check
GET /api/tasks List tasks
GET /api/tasks?status=ToDo List tasks by status
GET /api/tasks/{id} Get one task
POST /api/tasks Create a task
PATCH /api/tasks/{id}/status Change task status
DELETE /api/tasks/{id} Delete a task

Task statuses:

  • ToDo
  • InProgress
  • Done

Requirements

  • .NET 8 SDK.
  • Docker Desktop.
  • Git.

This workspace currently has .NET runtimes installed, but no .NET SDK. To build and run the project locally, install the .NET 8 SDK first.

Run Locally With Docker

From the repository root:

docker compose up --build

Then open:

  • API: http://localhost:8080
  • Swagger: http://localhost:8080/swagger
  • Health check: http://localhost:8080/health

Example requests are in docs/api-examples.http.

Run Tests

dotnet restore
dotnet test MiniSprintBoard.sln

The tests include:

  • service-level unit tests with a fake repository;
  • one integration test using WebApplicationFactory and an in-memory database.

For a stronger database integration test, I would later add Testcontainers with SQL Server.

Project Structure

src/MiniSprintBoard.Api
  Contracts/       Request and response models
  Data/            EF Core DbContext
  Models/          Domain-like task model
  Repositories/    Data access abstraction
  Services/        Business logic

tests/MiniSprintBoard.Tests
  Unit and integration tests

docs/
  API examples, SDLC notes, solution comparison, AWS notes

infra/aws/
  Small AWS learning sketch

Design Notes

I used a small service and repository structure because it is easy to understand and test. For a larger project, I would ask the team whether controllers, separate application/domain layers, database migrations, and stronger validation should be added.

The current local development setup uses EnsureCreated() to keep the demo simple. In a production or team project, I would use EF Core migrations and review them in pull requests.

Useful Documents

  • docs/solution-options.md compares three technical options.
  • docs/sdlc.md describes a small SDLC workflow.
  • docs/aws-learning-notes.md describes a simple AWS learning path.
  • PORTFOLIO_NOTE_PL.md explains how I would present this project in Polish.

About

ASP.NET Core task-tracking REST API with SQL Server, EF Core, tests, Docker, CI, and AWS deployment notes.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages