# AfRApay.MateCard
This is the software that runs on the MateCard terminal, powered by an ESP32.

## Setting up dev environment
This project uses PlatformIO. Quick setup guide:
- Install dotnet-sdk (macOS: `brew bundle` in project root OR `brew install dotnet-sdk` / Arch Linux: `pacman -S dotnet-host dotnet-runtime dotnet-sdk dotnet-targeting-pack aspnet-runtime aspnet-targeting-pack`)
- Install the EF.Core tool for database management: `dotnet tool install --global dotnet-ef`
- To start the webserver, execute `dotnet run` in this directory. If the database does not exist, it will be created. Migrations are applied automatically.
- Swagger / OpenAPI docs will automatically generate at `/swagger`.
- To test with the MateCard ESP32 code, get your computer's IP and configure the ESP to use `http://<yourip>:5296` as the API base url.

## Creating migrations
- To create a migration, change the respective code in `Backend/Database/Tables/TableName.cs` and then run `dotnet ef migrations add DescriptiveNameOfChanges`. The migration will be generated automatically. 
