|
1 |
| -# WebApi Clean Architecture |
| 1 | +# ASP.NET Core Web API - Clean Architecture |
| 2 | +</br> |
| 3 | + |
| 4 | +In this repository I want to give a plain starting point at how to build a WebAPI with ASP.NET Core connected with database following the principles of Clean Architecture. |
| 5 | +This repository contains a controllers which are dealing with Products, Categories and Brands. You can Secured GET/POST/PUT/PATCH and DELETE them. |
| 6 | + |
| 7 | +## **Technologies:** |
| 8 | +- .NET 7 |
| 9 | +- Database: Microsoft SQL server. |
| 10 | +- Framework/ library: Entity framework |
| 11 | +- JWT |
| 12 | + |
| 13 | +- Generated JWS key : https://8gwifi.org/jwsgen.jsp |
| 14 | + |
| 15 | +## **Default Roles & Credentials:** |
| 16 | +As soon you build and run your application, default users and roles get added to the database. |
| 17 | + |
| 18 | +Default Roles are as follows. |
| 19 | + |
| 20 | +- SuperAdmin |
| 21 | +- Admin |
| 22 | +- Moderator |
| 23 | +- User |
| 24 | +Here are the credentials for the default users. |
| 25 | + |
| 26 | +Email - haitham.abass49@gmail.com / Password - 123456 |
| 27 | +Email - Maged.sobhy50@gmail.com / Password - 123456 |
| 28 | + |
| 29 | + |
| 30 | +## **Features:** |
| 31 | +- User registration; |
| 32 | +- Email verification |
| 33 | +- User login |
| 34 | +- Password hashing; |
| 35 | +- Role-based authorization; |
| 36 | +- Identity Seeding |
| 37 | +- Database Seeding |
| 38 | +- Assign roles to users who signed up |
| 39 | +- Hide or display different parts of a page based on the user's roles. |
| 40 | +- Endpoints request required authorized access. |
| 41 | +- Login via access token creation; |
| 42 | +- Refresh tokens, to create new access tokens when access tokens expire; |
| 43 | +- Cookies to store refresh tokens in it. |
| 44 | +- Revoking refresh tokens. |
| 45 | +- Secured CRUD operations(Create (POST) - Read (GET) - Update (PUT) - Delete (DELETE)) |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | +</br> |
| 50 | + |
| 51 | +**If you have ideas on how to improve the API or if you want to add a new functionality or fix a bug, please, send a pull request.** |
0 commit comments