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.
Swagger API documentation:
Example request and response:
- 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.
| 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:
ToDoInProgressDone
- .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.
From the repository root:
docker compose up --buildThen open:
- API:
http://localhost:8080 - Swagger:
http://localhost:8080/swagger - Health check:
http://localhost:8080/health
Example requests are in docs/api-examples.http.
dotnet restore
dotnet test MiniSprintBoard.slnThe tests include:
- service-level unit tests with a fake repository;
- one integration test using
WebApplicationFactoryand an in-memory database.
For a stronger database integration test, I would later add Testcontainers with SQL Server.
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
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.
docs/solution-options.mdcompares three technical options.docs/sdlc.mddescribes a small SDLC workflow.docs/aws-learning-notes.mddescribes a simple AWS learning path.PORTFOLIO_NOTE_PL.mdexplains how I would present this project in Polish.

