Skip to content

matheusarb/ParkingLotManager

Repository files navigation

Parking Lot Manager v1


GitHub repo size C# .Net MicrosoftSQLServer

Parking Manager v1 is a backend project built on REST API that simulates the operation of a real-life parking management system.

💻 Requirements

In order to install Parking Lot Manager v1, you need to have at least .NET Core 8.0.X. SDK on your machine. You can install it from here.
Then, after cloning this repo, run the following commands (in order) within the Root folder of the .csproj:

dotnet restore
dotnet build
dotnet run

You can also run these commands via your preferred IDE (we recommend using Visual Studio 2022)

⭐ Features

  • CRUD Operations
  • Authentication and Authorization Services using RBAC(Role-based Access Control) protocol and API Key
  • Unit testing with XUnit and Moq
  • Database with SqlServer and EntityFramework Core
  • Fully documented API
  • Custom Extension methods
  • API integration with Report.Api to generate reports about vehicles flow
  • SQL script to ease the creation of records on the database
  • Postman Collection(JSON in the Root folder) already organized to test our endpoints

💡 Tips on how to use it

  • This project is intended to simulate the backend of a parking lot workflow via API requests
  • The ParkingLotManager.WebApi is fully documented, where you can find all the information about each endpoint and what it does
  • Generate and manage your database via migrations
    • Run the following commands:
    dotnet ef migrations add InitialCreate
    
    dotnet ef database update
    
  • You can run the script.sql to add entries to your database
  • RBAC is binded to be used on GetFordBrand endpoint(Vehicles/GetFordBrand). First, you need to create an admin user(Account/CreateAdmin) and log in (Account/Login). You will receive a Bearer Token which is needed in the request.
    • Pass the Bearer Token in the "Authorization" tab on Postman. Select Type "Bearer Token"
    • Before sending a request make sure you have at least one vehicle which "brand" is "Ford"
    • image
  • Set your ConnectionString inside appsettings.Development.json file

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors