Skip to content

Latest commit

 

History

History
73 lines (48 loc) · 1.65 KB

File metadata and controls

73 lines (48 loc) · 1.65 KB

SPlaceBackend

ASP.NET Core 8.0 Web API backend for the SPlace application that I did for my Bachelor's thesis.

Features

  • JWT Authentication
  • Azure AD Integration
  • Entity Framework Core with SQL Server
  • SignalR for real-time communication
  • RESTful API for quiz management, groups, and user management

Setup

Prerequisites

  • .NET 8 SDK
  • SQL Server (Azure SQL or local)
  • Azure AD tenant (optional, for Azure AD authentication)

Configuration

  1. Copy the example configuration:

    cp appsettings.Development.json.example appsettings.json
  2. Update appsettings.json with your credentials:

    • Database connection string
    • JWT secret key
    • Azure AD configuration (if using)

See CONFIGURATION.md for detailed setup instructions.

Running the Application

dotnet restore
dotnet build
dotnet run

The API will be available at https://localhost:5001 (or the port specified in launchSettings.json).

Project Structure

  • Core/ - Domain entities and enums
  • Application/ - Business logic, services, DTOs, and interfaces
  • Infrastructure/ - Data access, authentication, and external services
  • Web/Controllers/ - API controllers
  • Migrations/ - Entity Framework migrations

Security

This project uses:

  • JWT tokens for authentication
  • BCrypt for password hashing
  • Azure AD for enterprise authentication
  • User secrets for local development (recommended)

For production, use:

  • Azure Key Vault for secrets
  • Azure App Service configuration for connection strings
  • Managed identities where possible

API Documentation

Swagger UI is available in development mode at /swagger.