This project serves as a template for creating .NET Web API applications. It's pre-configured with essential dependencies and a Docker setup for ease of development and deployment. The template is designed to be flexible, allowing easy removal of unnecessary components and addition of new features.
Root Directory: Contains the solution file for the project.
src Folder: Houses all the source code and module related tests.
tests Folder: Contains e2e tests.
Docker File Located at the root, used for creating a Docker container for the application. Dockerfile.Local
and docker-compose
are for local development.
This project integrates various services and configurations:
Postgres: Used as the primary database.
Redis: Implemented for caching purposes.
RabbitMQ (RMQ): Utilized for messaging and event-driven architecture.
Elasticsearch: Employed for logging advanced search capabilities.
appsettings{environment}.json: Configuration settings for the application.
Integration tests setup: The project is pre-configured with integration tests. Health checks: The project has health checks for the database and other services. Also endpoint for prometheus. OpenTelemetry: The project is pre-configured with OpenTelemetry for logging and tracing. Prometheus: The project is pre-configured with Prometheus for monitoring. Hangfire The project is pre-configured with Hangfire for background jobs. ResponseCrafter The project is pre-configured with ResponseCrafter for consistent exception handling. Serilog The project is pre-configured with Serilog for logging. It asynchronously logs to Elasticsearch. RegexBox The project is pre-configured with RegexBox which will provide all essential regex patterns.
dotnet restore
- Restore dependenciesdotnet build
- Build the projectdotnet run
- Run the projectdotnet test
- Run testsdocker-compose up
- Run the project in Docker
List the key features of your application.