Key attraction in this Dummy API :
1.) Use of user secret for connection string
2.) Use of Dependency Injection
3.) Separate and clean code to maintain project
4.) Use of swaggerUI
5.) Transaction in EF
6.) Unit Test Cases
7.) Mocking of DBContext (https://docs.microsoft.com/en-us/ef/ef6/fundamentals/testing/mocking?redirectedfrom=MSDN)
8.) Filters
9.) Custom Middleware
10.) Custom Validation
11.) Microservice API Gateway using Ocelot
12.) Gzip Response compression in startup file, added controller to demo this
13.) Rate Limiter to IMDB API using AspNetCoreRateLimit.
How to run this?
**Make sure to have atleast SQL Server 18 and VS19 / 22.
1.) Goto Database folder run in following order
a.) AssignmentScript - Table and Database Creation
b.) AssignmentScript - Adding Joining Tables
c.) AssignmentScript - DQL
d.) Open PM Command note and in this folder and copy the command
2.) Goto API and open .sln file, then PM Console and paste the command in it.
3.) Build and run.
Here are few screenshots to visualize:
![3-edit-movie](https://user-images.githubusercontent.com/29522704/179511711-0037bd54-9230-494b-b38c-dd44b3527f1e.png)
![2-create-movie](https://user-images.githubusercontent.com/29522704/179511724-80bda0b6-a045-4c6f-b28c-e653022be6de.png)
![1-list-movies](https://user-images.githubusercontent.com/29522704/179511732-bd39f7d6-8576-463c-9b6b-19ad59e4bdf6.png)
![5-create-producer](https://user-images.githubusercontent.com/29522704/179511737-c5537b79-acf1-4483-90ae-65780892e459.png)
![4-create-actor](https://user-images.githubusercontent.com/29522704/179511746-ff54e5b9-46ca-475c-8926-48c8f8c0712a.png)