Movie App API and Client
Movie App API and Client is a web application project, where the API is built using .NET and is consumed by a .NET MVC Client. The project was originally built on the .NET Core 3.1 (LTS) but has been moved to .NET 5.
- CRUD Operations
- Repository Pattern
- DTOs
- Open API Specification
- Swagger Documentation
- XML Comments
- Authentication and Authorization
- Password Hashing
- Unit testing with Xunit and Moq
- JWT and Bearer Token
- Serilog for log management
- Use of Http Client
- Repository Pattern
- MVVM Pattern
- JWT and Bearer Token
The API is built using best practices and standard. The API performs CRUD operation on the database built on the repository pattern. The use of Data Transfer Objects in abstracting data and mapping to the appropraite model. Open API Specification highlights the use of Swagger for documenting and testing all individual endpoint of the API. XML Comments help in detailing each individual endpoint on the Swagger Documentation.
The MVC Client uses Http Client to communicate with the API. The repository pattern is used in calling all the individual controllers in the API
- Clone the project on your local computer or download as Zip folder.
- Open the .sln project.
- Change the startup project on the properties of the project to mutiple, this would launch both the API and MVC Client project.
- Add Migrations and Update Database on the Package Manager Console.
add-migration <migrationname>
update-database
- Build project.
- Run project.
- Clone the project on your local computer or download as Zip folder.
- Using the Command Prompt go to the directory of the project.
- Open the project at the root of the folder.
- Change the configuration of the project to launch both API and MVC project together.
- Add Migrations and Update Database on the Terminal.
dotnet add migration <migrationname>
dotnet update database
- Clean the project using
dotnet clean
- Build project on the command line
dotnet build
- Run project.
dotnet run
If you want to see the .NET documentation for building APIs and consuming them you can visit https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-5.0
With the API and Web Project fully secured using JWT and Cookie Auth, contributions are needed to build other security functionalities into the API and Web Project. Unit testing of MVC Controller hasn't been done yet
Isaac Gabriel
MIT
Project has slowed down. You can choose to continue by forking the project to your own repository.