Skip to content

This is the backend side of my Bachelor's thesis work.

License

Notifications You must be signed in to change notification settings

HViktorBP/SPlaceBackend

Repository files navigation

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.

About

This is the backend side of my Bachelor's thesis work.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages