Skip to content

Repository files navigation

BookRest logo

Restaurant Reservation System

Project description

BookRest is a restaurant reservation system. It provides a REST API to book restaurant tables clearly and painless.

Table of Contents

Core Technologies

  • 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

Project Architecture

This project is structured using Clean Architecture pattern

Clean Architecture

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

Architecture Decisions

While building and structuring BookRest I had to deal with various problems, they are documented at docs/decisions

Database schema

in progress...


License

This software is licensed under the MIT license

About

Restaurant reservation system

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages