PuppyQueue is a ticket booking system designed to manage and streamline the queue process for both users and employees. The system allows users to book appointments, check queue statuses, and enables employees to manage customer queues efficiently.
- User Booking Interface: Users can book appointments through an intuitive UI and check the status of their bookings.
- Employee Management Interface: Employees can view and manage user bookings in real-time.
- Queue Management: System maintains a shared queue and provides real-time updates for users and employees.
- Easy Navigation: Each interface features a "Back" button for ease of use and navigation.
Marumthuy_booking_system/
├── env/
├── requirements.txt
└── src/
├── employee_app.py # Employee management interface
├── main.py
└── ui.py
└── user.py # User booking & queue status interface
└── users_data_handler.py
└── utils.py
├── booking_data.json
├── users_data.json
-
Clone the repository:
git clone https://github.com/yourusername/Marumthuy_booking_system.git
-
Navigate to the project directory:
cd Marumthuy_booking_system
-
Create a virtual environment:
python -m venv env
-
Activate the virtual environment:
- On Windows:
.\env\Scripts\activate
- On macOS/Linux:
source env/bin/activate
- On Windows:
-
Install dependencies:
pip install -r requirements.txt
-
Run the main application:
python src/main.py
-
Navigate through the options to book or check appointments:
- Users can book a ticket or check their queue status.
- Employees can manage customer queues.
- Python 3.8+
- PyQt5 (for User Interface)
- Other dependencies are listed in
requirements.txt
The project consists of multiple modules:
- main.py: Entry point of the application that handles launching user and employee interfaces.
- utils.py: Contains utility functions, such as reading/writing JSON files for booking data.
- ui.py: Implements the user interface using PyQt5, featuring dropdown selections for roles, time, and date.
- booking_options.py: Provides booking options for users to either book an appointment or check the queue.
- user_app.py / user_queue.py: Handles user-related actions, such as booking appointments and viewing queues.
- employee_app.py: Allows employees to view and manage customer appointments.
Contributions are welcome! Please create an issue or submit a pull request if you'd like to contribute.
- Fork the repository
- Create your feature branch (
git checkout -b feature/new-feature
) - Commit your changes (
git commit -m 'Add some feature'
) - Push to the branch (
git push origin feature/new-feature
) - Create a new Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to contribute, suggest improvements, or report any issues! 😊