A robust .NET 9 Web API built with Clean Architecture principles. This project manages events, locations, and attendee registrations with built-in business logic and data persistence.
This project follows a modular Clean Architecture pattern to ensure separation of concerns:
- Controllers: Entry points for HTTP requests.
- Services: Business logic layer (e.g., date validation, location existence checks).
- Repositories: Data access abstraction using Entity Framework Core.
- Entities: Domain models representing the database schema.
- Location Management: Full CRUD for event venues.
- Event Management:
- Create/Update/Delete events linked to specific locations.
- Validation: Prevents creation of events where the end time is before the start time.
- Integrity: Ensures events can only be linked to existing locations.
- Attendance System (Bonus):
- Register and unregister attendees for specific events.
- Many-to-Many relationship between Events and Attendees.
- Framework: .NET 9.0
- Database: SQL Server (LocalDB)
- ORM: Entity Framework Core
- Documentation: Swagger UI / Scalar
Ensure you have SQL Server LocalDB installed. Run the following commands in the terminal:
dotnet ef database update