- .NET 8
- ASP.NET Core
- Entity Framework Core
- PostgreSQL
- JWT Authentication
- BCrypt
- Swagger
- GitHub Actions CI/CD
Kamerreservering API is een RESTful API voor het eenvoudig beheren van kamerreserveringen. Dit privéproject is ontwikkeld met .NET en ASP.NET Core, waarbij Entity Framework Core wordt gebruikt als ORM. De applicatie maakt gebruik van PostgreSQL als database en draait lokaal tijdens ontwikkeling. Voor authenticatie en autorisatie wordt ASP.NET Core Authorization gebruikt in combinatie met JWT tokens. Wachtwoorden worden veilig opgeslagen met BCrypt hashing.
Het project bevat een CI-pipeline met twee workflows:
- main branch: bouwt het project, maakt een zip-artifact en publiceert een GitHub Release
- development branch: voert automatische tests uit bij elke push
Voor versiebeheer wordt GitHub gebruikt, inclusief security features zoals environments en secret variables. Deze worden gebruikt om de connection string en JWT key veilig te verbergen. Daarnaast bevat het project Swagger UI voor API-documentatie en snelle tests. Voor uitgebreide endpoint-tests wordt Postman gebruikt.
Het project kan op twee manieren worden uitgevoerd:
- Download de GitHub Release zip en run de applicatie
- Clone de repository en run lokaal
Voor het runnen en builden van het project .NET SDK is vereist:
- Ga naar de officiele .NET website: https://dotnet.microsoft.com/en-us/download
- Download de nieuwste versie voor je systeem (Windows, Linux, MacOS)
- Installeer het met de basis instellingen
Als je een VS Code gebruiker bent en je wilt het project openen met dit IDE het is aanbeloven om eerst C# Dev kit te installeren:
- Open VS Code
- Ga naar Extensions
- Zoek voor C# Dev kit
- Installeer de extensie. Deze extensie geeft je debuggin tools en makkelijk project building.
Om het project te runnen (compilen):
- Clone or download de repository naar je computer
- Open de terminal/command prompt binnen het project folder (de folder die het .csproj bestand bevat)
- Run: dotnet run