A ride-hailing backend API built with ASP.NET Core 7, following Clean Architecture principles.
The solution is organized into the following projects:
- DriveMe.API – Web API entry point with controllers and middleware configuration
- DriveMe.Application – Application layer: use cases, interfaces, DTOs, and service contracts
- DriveMe.Domain – Core domain entities (
User,Car,RideRequest,Review) - DriveMe.Persistence – EF Core data access, DbContext, and repository implementations
- DriveMe.Identity – Identity and authentication concerns
- DriveMe.Infrastructure – Cross-cutting infrastructure services (email, etc.)
- DriveMe.Test – Unit and integration tests
- .NET 7 / ASP.NET Core
- Entity Framework Core 7 with PostgreSQL (Npgsql)
- AutoMapper
- MediatR
- FluentValidation
- Swagger / OpenAPI
- Configure a PostgreSQL connection string in
appsettings.jsonunderDriveMeConnectionString. - Apply database migrations:
dotnet ef database update --project DriveMe.Persistence --startup-project DriveMe.API
- Run the API:
dotnet run --project DriveMe.API
- Open the Swagger UI at
https://localhost:<port>/swagger.