This is a fully featured .NET 6 restful API starter application, which is configured to work with either MongoDB or PostgreSQL. The goal of this project is to solve all routine tasks and keep your focus on the product and business logic of the application, not on the common things, such as logging, configuration, dev/production environments.
| Name | Description |
|---|---|
| API (NoSQL version) | .NET backend starter, configured to work with MongoDB |
| API (SQL version) | .NET backend starter, configured to work with PostgreSQL |
| Common | DAL (for MongoDB and PostgresSQL) and some configuration, which can be shared across all applications |
| Scheduler | Background jobs runner built on Hangfire |
| Websocket server | SignalR websocket server (as of now works with MongoDB only) |
| Unit tests for NoSQL API | Unit tests for NoSQL API |
| Unit tests for SQL API | Unit tests for SQL API |
- Production ready account API resource (singup, signin, forgot password, reset password functionality), which could be backed by MongoDB or PostgreSQL
- DAL with filtering, sorting and pagination
- Unit tests
- Configured console logging (Serilog)
- Request data validation (FluentValidation)
- Object mapping (Automapper)
- Email sender implementation for local development (can be used with smtp4dev, for example)
- Redis cache (see CacheController for example of usage)
- Health checks
- Hangfire scheduler. Can be configure to use either MongoDB or PostgreSQL storage. Dashboard is available on http://localhost:3001/hangfire
- Feature flags support (FeatureManagement). See FeatureController for example of usage)
- Docker support
- Access token based authentication
- Database migrations (SQL version only)
- SignalR websocket server (NoSQL version only)