Skip to content
This repository has been archived by the owner on Apr 29, 2023. It is now read-only.

emmysteven/restaurant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Restaurant_Logo

Restaurant


An Implementation of Clean Architecture with .NET 5 With this Open-Source Codebase, you will get access to the world of Loosely-Coupled and Inverted-Dependency Architecture in .NET 5

Upcoming Release

v1.1-release

Read the Changelog file to see the new changes.

Clone this repository to get the latest unreleased version.

Releases

v1.0-preview - IS NOT YET OUT

v1 Preview.

Follow these steps to get started

  1. Clone this Repository and Extract it to a Folder.
  2. Change appsettings.mock.json to appsettings.json in WebUI directory
  3. After following step 2, change all ChangeMe to your own value
  1. Run npm install in the src/WebUI/ClientApp directory
  2. Run the following commands on Terminal in the WebUI project's directory.
  • dotnet restore
  • dotnet ef database update --context DataContext
  • dotnet run (OR) Run the Solution using Visual Studio 2019 or JetBrain Rider

Check out my blog or say Hi on Twitter!

Purpose of this Project

Does it really make sense to get to a restaurant and you told that they are fully booked? Aren't we wasting quite a lot of time in doing this over and over again?

This is the exact Problem that I intend to solve with this Full-Fledged .NET 5 project. It follows various principles of Clean Architecture.

The primary goal is to create a restaurant booking project, that is well documented along with the steps taken to build this Solution from Scratch.

  • Demonstrate clean architecture in .NET 5
  • This is not a proof of concept
  • Implementation that is ready for production
  • Integrate the most essential libraries and packages

Give a Star ⭐

If you find this project helpful, do give it a star. Thanks!
If you are feeling really generous, send me ETH: 0x9F4942911f2406E5897669Db99184d47B3078E99

Technologies

  • .NET 5
  • REST Standards
  • .NET 5 Libraries

Features

  • Clean Architecture
  • CQRS with MediatR Library
  • Entity Framework Core - Code First
  • Repository Pattern - Generic
  • MediatR Pipeline Logging & Validation
  • Serilog
  • Swagger UI
  • Response Wrappers
  • Healthchecks
  • Pagination
  • In-Memory Caching
  • Redis Caching
  • RDBMS
  • JWT Authentication
  • Role based Authorization
  • Custom Exception Handler
  • Fluent Validation
  • Automapper
  • SMTP / Mailkit / Email Service
  • Complete User Management Module (Register / Generate Token / Forgot Password / Confirmation Mail)
  • User Auditing

Brief Overview

alt text

Prerequisites

  • JetBrains Rider 2020.3.1 & above | Visual Studio 2019 Community and above
  • .NET Core 5.0 SDK and above
  • Basic Understanding of Clean Architecture
  • I Recommend that you read Onion Architecture In ASP.NET Core With CQRS – Detailed article to understand this project much better. This project is just an Advanced Version of the mentioned article.

Getting Started

Changelog

Every changes / additions / deletions will be recorded in the Changelog file.

Questions? Bugs? Suggestions for Improvement?

Having any issues or troubles getting started? Get in touch with me or Raise a Bug or Feature Request. Always happy to help.

Support

If this project helped you learn something new? or helped you at work? Do Consider Supporting.
ETH: 0x9F4942911f2406E5897669Db99184d47B3078E99

Share it!

There are many improvements and fixes along the way from the day I started out. Thanks to the community for the support and suggestions. Please share this Repository within your developer community, if you think this would make a difference! Thanks.

About the Author

Emmy Steven

Licensing

emmysteven/restaurant Project is licensed with the MIT License.