Skip to content

This repo is to demo topics related to Dotnet Web API

License

Notifications You must be signed in to change notification settings

ks1990cn/Demo_API_For_IMDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEMO API FOR IMDB

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)