-
Notifications
You must be signed in to change notification settings - Fork 1
Documentation
ceron edited this page Sep 6, 2024
·
7 revisions
QuickPass is an app designed to streamline event access and bookings by allowing users to open doors for events using their mobile devices. This application integrates with a backend server to manage users, bookings, and accommodations.
The core system is designed using Object-Oriented principles and consists of several key classes:
- User: Represents a person using the app, including their contact details.
- Occasion: An event or booking that a user can attend.
- Event: A specific instance of an occasion with a date, time, and location.
- Booking: A user's reservation for an event, including entry and exit times.
- Accommodation: The venue or house associated with the event or booking.

The detailed database structure showing the relationship between users, events, bookings, and accommodations:
- User: Manages user information, including email and contact number. Users can create sessions and participate in events and bookings.
- Session: Stores session-related data such as the user's device and session status.
- Event: Contains details of specific events such as start date, end date, and location.
- Booking: Represents a user's reservation for an event, with entry and exit dates.
- Accommodation: Holds information about the accommodation related to an event, such as address and type (house or not).
- Logs: Tracks user actions within events (e.g., entry and exit times).
- States: Defines the current state of the user concerning an event or booking.
The QuickPass system architecture includes:
- Cellphone Device (MobileApp.apk): Used by users to book events and unlock doors.
- Desktop Device (Admin Page): Used by admins to manage the system via the web browser interface.
- Backend Server: Hosts the backend API and PostgresDB database in a Docker environment to handle requests and store data.

The backend API interacts with both the mobile app and admin panel. Below are key API endpoints:
| Endpoint | Method | Description |
|---|---|---|
/api/users |
GET | Retrieve list of users |
/api/events |
GET | Retrieve list of events |
/api/bookings |
POST | Create a new booking |
/api/bookings/:id |
DELETE | Delete a booking by ID |
QuickPass Wiki | Open doors to new experiences.