A completed mobile platform for HKU students to find study space, book library facilities, view live occupancy, receive reservation reminders, analyze historical crowd patterns, and complete bookings through an AI assistant.
Project Snapshot
The system is implemented as a Flutter mobile app, FastAPI backend, AI booking service, computer-vision module, and local infrastructure stack for database, cache, queues, and video streaming.
HKU library locations in the booking catalog.
Bookable facilities seeded across the supported libraries.
Local camera demo streams for the occupancy pipeline.
Core app modules: Home, AI, Libraries, Reservations, Reports, and Settings.
Completed Product
Students can move from space discovery to reservation confirmation, manage upcoming bookings, and use live and historical data to choose better study locations.
Students register, log in with HKU email, keep a stored session, and access authenticated booking, AI, occupancy, and report APIs.
The home page uses location and current occupancy snapshots to list nearby study areas and recommend a best spot by distance or crowd level.
Students browse supported HKU libraries, inspect facility groups, open facility maps, and choose a target room, table, booth, or computer.
Facility timeslots are loaded from the backend with availability status, then students confirm a reservation from the app.
Users can review all, upcoming, and historical reservations, cancel eligible bookings, and open the relevant facility map from a reservation.
Historical reports summarize occupancy, trends, heatmaps, and peak hours to help students avoid crowded study periods.
User Flow
Open the home page and compare nearby library occupancy.
Browse libraries, rooms, tables, booths, computers, and studios.
Select an available slot and create a confirmed reservation.
Use local notification reminders before the booking starts.
Use reports and peak-hour patterns for the next study session.
Campus Coverage
Seed data includes aliases, coordinates, opening hours, capacities, floors, room codes, display names, and bookable facility definitions.
| Main Library | 111 |
| Discussion rooms, study tables, computers, studio and editing room, concept and creation rooms, and single study rooms | |
| Lui Che Woo Law Library | 94 |
| Study tables and discussion rooms | |
| Chi Wah Learning Commons | 18 |
| Study rooms and study booths | |
| Yu Chun Keung Medical Library | 10 |
| Discussion rooms and single study rooms | |
| Music Library | 3 |
| Discussion rooms | |
The system goes beyond discussion rooms and supports a broader set of individual and collaborative study facilities.
|
Discussion Room
|
Study Table
|
|
Study Room
|
Study Booth
|
|
Single Study Room
|
Computer in LTC
|
|
Studio and Editing Room
|
|
|
Concept and Creation Room
|
|
AI and Computer Vision
The project combines a conversational booking assistant with a computer-vision occupancy pipeline for real-time study-space awareness.
Architecture
Flutter appHome, AI chat, booking, reservations, reports, notifications, and map viewer. |
Database and time-series storagePostgreSQL and TimescaleDB store users, reservations, occupancy logs, snapshots, and reports. |
FastAPI backendAuth, libraries, facilities, reservations, AI orchestration, occupancy, reports, and health checks. |
Cache and queue infrastructureRedis handles live occupancy cache. RabbitMQ stages camera frames and normalized stats events. |
AI agent servicePython service for natural-language booking sessions and confirmed reservation execution. |
CV and streaming toolsOpenCV, PyTorch, Ultralytics, MediaMTX, and demo streams support occupancy testing. |
Technology Stack
Flutter, Dart, Provider, secure storage, local notifications, geolocator, permission handler, and Google Fonts.
FastAPI, SQLAlchemy, JWT authentication, APScheduler, modular routers, services, and OpenAPI documentation.
PostgreSQL, TimescaleDB, occupancy logs, area snapshots, rollups, retention policies, and seed data scripts.
Docker Compose, Redis, RabbitMQ, MediaMTX, RTSP, RTMP, WebRTC, and local video fixtures.
Python AI service, OpenAI-compatible LLM API, session management, booking confirmation, and backend orchestration.
OpenCV, PyTorch, Ultralytics YOLO models, custom seat/person/item detection, training scripts, and test images.
Testing and Evidence
Repository, controller, provider, model parsing, network, notification, and widget tests are included.
The backend exposes Swagger UI, ReDoc, health checks, and module-level API documentation.
Docker Compose and environment examples support PostgreSQL, Redis, RabbitMQ, MediaMTX, backend, AI, and Flutter bring-up.
Deliverables
Cross-platform Flutter app for iOS and Android.
Authenticated FastAPI service for booking, occupancy, AI, and reports.
Natural-language booking assistant connected to the reservation system.
Seat and occupancy detection with camera pipeline support.
© 2026 HKU Library Booking System with Real-time Space Monitoring for iOS and Android