Optime is a repository created for a technical interview assignment. It implements the Clean Architecture, Command Query Responsibility Segregation (CQRS), Domain-Driven Design (DDD), and Vertical Slice patterns.
For more details about Clean Architecture, CQRS, DDD, and Vertical Slice.
adminkey
.
When the project started, the ApplicationDbContextInitializer
class was created to be responsible for creating the database and seeding some mock driver data. Additionally, it registers some cronjobs for mocking the mechanisms of the whole system. These jobs can be seen and managed in the Hangfire URL: /hangfire
.
Twenty missions will be seeded every twenty seconds.
The AutoAssignerService
is responsible for automatically assigning missions to drivers every 5 seconds.
The AddMockDriverArrivedCronJob
is responsible for mocking driver arrivals.
- MediatR: A simple mediator implementation in .NET
- Bogus: A simple and sane fake data generator for .NET
- FluentValidation: A popular .NET library for building strongly-typed validation rules
- Hangfire: An easy way to perform background processing in .NET and .NET Core applications
- AutoMapper: A convention-based object-to-object mapper
- NetTopologySuite: A .NET library for spatial data types and operations