Skip to content
This repository was archived by the owner on Oct 26, 2026. It is now read-only.
malinfossumPublic archive

Repository files navigation

Backend Course

My own solutions to the tasks in Backend Light, the ten-week backend course in GET Prepared (August to October 2026).

Everything here is written from scratch against the task descriptions. The reference solutions handed out by the school are deliberately not in this repository.

Stack

.NET 10, ASP.NET Core Minimal API, NUnit, Moq, Dapper, Entity Framework Core, SQL Server.

Contents

One folder per week, mirroring the course material. Each project has its own README with what I found and how to run it.

Week Project Topic
1 Auction Minimal API, DTOs, .http files, JSON file persistence, async
2 BookLoan Service classes, dependency injection, lifetimes
2 CinemaBooking Unit testing with NUnit, fakes and mocks, Result<T>
3 BookCatalog SQL Server, raw SQL, Dapper, swapping file persistence for a database
3 CouponApi Writing to the database: IDENTITY, constraints, rows affected
4 CourseDb Relations: keys, many-to-many, INNER JOIN, LEFT JOIN (SQL only)
4 CinemaReports Reporting: GROUP BY, aggregates, EXISTS, CASE, indexes (SQL only)
5 SupportTickets Entity Framework Database First, LINQ translated to SQL, Include
6 CodeFirstOrders Entity Framework Code First, migrations on live data, transactions and ACID
7 and 8 devops-course Containers, Compose, CI with GitHub Actions, GHCR, deploy and rollback. Taught as a separate mini course, so it has its own repository
9 Hugin #61 Architecture: Rich Domain Model, Value Objects, Domain Events. No task to hand in, so I applied it to my own project
10 None Functional Core / Imperative Shell, pure functions, Result composition. No task code in this repository

Running it

Every C# project has a .slnx and builds with dotnet build. The two test suites:

dotnet test "Week 02 - API/BookLoan/BookLoan.slnx"
dotnet test "Week 02 - API/CinemaBooking/CinemaBooking.slnx"

Weeks 3 to 6 need a local SQL Server. Each project README has the script that creates its database.

Used by

Contributors

Languages