How k-kabeesan/labbooker works
LabBooker is a Qt desktop system for laboratory reservations and administration. Users sign in, check availability, request or manage bookings, and track decisions; administrators also manage accounts and resources, configure schedules, and produce reports. The graph separates UI, domain services, and SQLite persistence. Some page-to-service wiring is not shown in the excerpts, so those links are dashed and unverified rather than asserted as calls.
Main entry points: mainwindow.cpp Role-based pages · database.cpp Database manager · services.cpp Authentication · main.cpp Startup shell
Components 14
Application and UI
- Startup shell
src/main.cpp - Sign-in UI
src/mainwindow.cpp - Role-based pages
src/mainwindow.cpp
Booking workflow
- Availability checks
src/services.cpp - Booking operations
src/services.cpp
Administration
- User management
src/services.cpp - Laboratory management
src/services.cpp - Equipment management
src/services.cpp - Reports and export
src/services.cpp
Domain and persistence
- Domain records
src/domain.h - Authentication
src/services.cpp - Database manager
src/database.cpp - SQLite database
Other components
- Students and staff
Connections 20
- Students and staff → Sign-in UI: sign in
README.md - Startup shell → Database manager: opens
src/main.cpp - Startup shell → Authentication: bootstraps admin
src/main.cpp - Startup shell → Sign-in UI: creates
src/main.cpp - Sign-in UI → Role-based pages: authenticated signal
src/mainwindow.cpp - Students and staff → Role-based pages: use booking features
README.md - Role-based pages → Database manager: reads booking data
src/mainwindow.cpp - Role-based pages → Authentication: authentication actions
- Role-based pages → Availability checks: check availability
- Role-based pages → Booking operations: submit and manage
- Role-based pages → User management: manage accounts
- Role-based pages → Laboratory management: manage laboratories
- Role-based pages → Equipment management: manage equipment
- Role-based pages → Reports and export: request reports
- Authentication → Database manager: reads and writes
src/services.cpp - Availability checks → Database manager: checks schedules
src/services.cpp - Booking operations → Availability checks: validates request
src/services.cpp - Booking operations → Database manager: stores bookings
- User management → Authentication: creates accounts
src/services.cpp - Database manager → SQLite database: persists records
README.md