BookRest is a restaurant reservation system. It provides a REST API to book restaurant tables clearly and painless.
- Core Technologies - in progress...
- Project Architecture - in progress...
- Architecture Decisions - in progress...
- Database schema - in progress...
- License
- Framework:
- ASP.NET Core Web API
- Languages:
- C#
- Database:
- PostgreSQL
- EF Core
- IAM:
- JWT (Refresh + Access tokens)
- Payment Service:
- Stripe
- CQRS & Event Handling:
- MediatR
- Validation:
- FluentValidation
- Ardalis.GuardClauses
- Unit Testing:
- xUnit
- Moq
- Integrational Testing:
- Test Containers
- WebApplication Factory
This project is structured using Clean Architecture pattern
BookRest.Domain // Entities, value objects, domain events
BookRest.Application // Use cases, interfaces, DTOs
BookRest.Infrastructure // Data access, external services
BookRest.Api // Controllers, middleware, DI setup
BookRest.Shared // Centralise service name constants
While building and structuring BookRest I had to deal with various problems, they are documented at docs/decisions
in progress...
This software is licensed under the MIT license

