A web based project that handles trip reservations
Here're some of the project's best features:
- Project build on Clean Architecture and DDD standers
- Logging to SQL Server DB Using Serilog
- Logs Dashboard using Serilog UI (Navigate to '/logs')
- Database Sql Server
- Microsot Identity to manage the Identity Users
- Authentication layer handled by JWT and custom Authentication services
- CurrentUser service to access the current logged user across the project
- Global Error Handling
- Trips Seeds by Bogus
- Reservation RESTFul Apis with pagination and Wrapped returns
- Default Users seeding from Appsettings.Json
- Custom Middlewares
- Apis Validation handled by FluentValidation
- Data Access Layer handled by EF Core with Code first approach
- The Arch : https://github.com/amirelkassar/nokood/blob/master/Planning/ProjectPlanning.pdf
- Swagger Api explorer (Navigate to '/swagger')
1. Clone the project from github
git clone https://github.com/amirelkassar/nokood.git
2. Or download it as a Zip file from the Clone Button
3. Navigato to "nokood/NokoodAssignment"
4. Open the "NokoodAssignment.sln" in visual studio
5. Navigate to "Presentation/NokoodAssignment.web" project and then to appseetings to update the db connection string
6. The DB connection strings should be updated in 3 places in the appsetting.json file
7. A-Under ConnectionStrings update Default value
8. B-Under ConnectionString update Logs value
9. C-Under Serilog .Args update Connectionstring value
10. Now set the startup project to NokoodAssignment.Web and run the project
11. It'll navigates to swagger dashboard .you can find the users appsettings.json file
12. User any one to call login using account/login API
13. Copy the returned token and press the authorize button on the right cornal
14. Type Bearer[space][the copied token]]
Bearer token....
15. Enjoy the rest of the Apis