A modern, modular, and extensible RESTful API , built with ASP.NET Core (.NET 9), Entity Framework Core, MediatR, Follows Clean Architecture.
- Features
- Database Diagram
- Endpoints
- Getting Started
- API Documentation
- Background Jobs
- Health Checks
- Contributing
- User authentication & JWT-based authorization
- Cars, Customer, and reservation management
- Reservation progress tracking
- Email Support
- Background jobs with Hangfire
- Health checks and monitoring
- Swagger documentation
- .NET 9 SDK
- SQL Server
- (Optional) SMTP4Dev for local email testing
- (Optional) Azurite for local Azure Blob Storage emulation
-
Clone the repository:
-
Restore packages
dotnet restore
-
Set up configuration:
- Update
src/Goodreads.API/appsettings.Development.json
with your local connection strings and secrets as needed.
- Apply database migrations and seed data:
-
By default,
RunMigrations
is set totrue
in development. The database will be created and seeded automatically on first run. -
Run the migrations (manually).
dotnet ef migrations add InitialCreate dotnet ef database update
- Run the application
dotnet run
- Interactive API docs are available via Swagger at
/swagger
.
- Hangfire is used for recurring and background jobs.
- Dashboard available at
/hangfire
.
- Health check endpoint:
/healthz
- Includes checks for database and blob storage connectivity.
Contributions are welcome! Please open issues or submit pull requests for improvements.