Skip to content

Repository files navigation

Student Dorm — Dormitory Management System

Desktop application built with WPF, for administering university student dormitories. The system manages students, rooms, accommodation, cards, payments and maintenance faults, with multi-language support and multiple visual themes.

Screenshots

Login screen Login

Main window Main window

Features

1) Student management

  • Add, edit and delete students
  • Search by first name, last name, index number, year of study and faculty
  • Dorm status (checked in / checked out)
  • Quick overview of accommodation, card and payments

2) Room and bed management

  • Pavilions, rooms and individual beds
  • Room occupancy overview
  • Filtering by room type, floor and status
  • Automatic room status update based on occupancy

3) Accommodation records

  • Assign and check students out of accommodation
  • Track check-in and check-out dates
  • Accommodation history
  • Automatic bed release on check-out

4) Payments and additional services

  • Service price list (accommodation, cafeteria, internet…)
  • Multi-item payment entry
  • Automatic line_total calculation
  • Payment history per student

5) Student cards

  • Card records per student
  • Status (ACTIVE / BLOCKED / EXPIRED)
  • Real-time balance updates (top-up simulation)

6) Faults and maintenance

  • Report faults in rooms
  • Status changes (REPORTED, IN_PROGRESS, RESOLVED)
  • Tracks who reported and who resolved each fault

7) User accounts and roles

  • Login system with password hashing
  • User roles (admin, front desk, cashier…)
  • Module access restricted per role

8) Application settings

  • Multi-language interface (BS/RS + EN)
  • Multiple themes (light/dark)
  • User preferences are saved and loaded on login

Database

The database uses MySQL and consists of ~15 tables:

  • faculty, pavilion, room, bed
  • student, accommodation
  • service, payment, payment_item
  • card
  • fault
  • employee
  • app_user, role, user_role

Database model

The database creation script is located in the DBStarter folder.

Architecture

  • MVVM (Model–View–ViewModel)
  • Entity Framework Core (MySQL provider)
  • ResourceDictionary for languages and themes
  • NavigationService for view switching
  • RelayCommand for commands
  • Validations and interactive UI following HCI guidelines

Themes & Localization

  • Themes load dynamically at runtime
  • Settings are persisted in the database
  • Language can be switched without restarting the application

Getting Started

  1. Import database.sql (schema) and insert.sql (seed data), located in the DBStarter folder, into MySQL
  2. Update the connection string in StudentDormDbContext.cs
  3. Build → Start

Author

Vedran Topić Course: Human–Computer Interaction Faculty of Electrical Engineering, University of Banja Luka

About

WPF desktop application for managing a student dormitory — students, rooms, accommodation, payments, cards and maintenance faults, with role-based access, multi-language support and themes.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages