04
Proefexamen

De Klusloods

Een gereedschapverhuur applicatie gebouwd als proefexamen. Bevat complexe domeinlogica voor voorraadbeheer, reserveringen en autorisatie.

De Klusloods preview

Belangrijkste functionaliteiten

  • //Klantportaal voor het aanmaken en inzien van reserveringen
  • //Medewerkersportaal voor uitgifte en retourverwerking
  • //Beheerderspaneel voor assortiment en gebruikersbeheer
  • //Authenticatie en autorisatie via ASP.NET Core Identity
  • //Veilige configuratie via DotNetEnv (.env bestanden)

Galerij

Project screenshot 1
Project screenshot 2
Project screenshot 3

Technische aanpak

Het project volgt een strikte Code First aanpak met Entity Framework Core en bevat een relationele database ontworpen met ERD's en klassendiagrammen. Volledig geoptimaliseerd volgens exameneisen.

Projectstructuur

Klusloods
Areas/Identity
Controllers
Data
Models
Views
appsettings.json
KlusloodsTest
Selecteer een bestand of map voor uitleg

Onder de motorkap

ApplicationDbContext.cs
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }

    public DbSet<Gereedschap> Gereedschappen { get; set; }
    public DbSet<Reservering> Reserveringen { get; set; }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
        // Custom fluent API relaties
    }
}

De database context integreert direct met ASP.NET Core Identity. Tabellen zoals AspNetUsers en AspNetRoles worden hierdoor automatisch meegenomen in de Code First migraties.