A lightweight event management platform built with .NET 9, Clean Architecture, and CQRS.
Event creators can create events, and participants can browse and register easily.
-
Event Creators (Authenticated)
- Create events
- View registrations for their own events
-
Event Participants (Public)
- Browse all events
- Register without logging in
- Name
- Description
- Location
- Start Time
- End Time
- Name
- Phone Number
- Email Address
- .NET 9 / ASP.NET Core – modern, fast, cross-platform
- Clean Architecture – separation of concerns & testability
- CQRS + MediatR – structured command/query pipelines
- EF Core – ORM with migrations support
- PostgreSQL – relational database
- JWT Authentication – secure, stateless login for creators
- FluentValidation – clean validation rules
- EF Core InMemory – fast unit testing
- TestContainers – realistic integration testing
- .NET Aspire – local dev orchestration
To add a new migration:
dotnet ef migrations add <MigrationName> --project EventManagement.Infrastructure --startup-project EventManagement.APIFollow the steps below to run the Event Management API using .NET Aspire.
✅ 3. click on the link to open the swagger page (http://localhost:5124/swagger/index.html)
you must configure a strong JWT signing key using .NET User Secrets.
Run this command inside the EventManagement.API project directory:
dotnet user-secrets set "Security:JwtKey" "ThisIsASuperStrongJwtSigningKey_AtLeast64CharactersLong\!\!\!1234567890"


