Welcome to the ZAPP Resort Theme Park Access Control System, a robust Java-based solution designed to manage visitor access, movement, and in-park transactions within a dynamic theme park environment. This system ensures seamless operations by controlling entry to various park areas, facilitating transitions between zones via designated bridges, and managing visitor credits and loyalty points.
Developed with a focus on modularity and scalability, this project provides a foundational framework for an enterprise-grade access control system, suitable for complex resort and theme park operations.
- Visitor Card Management: Comprehensive management of visitor access cards, including details retrieval and location tracking.
- Area-Based Access Control: Define and manage distinct areas within the theme park, controlling visitor entry and capacity.
- Bridge-Based Movement System: Facilitate and validate visitor movement between interconnected park areas using a sophisticated bridge system, considering card ratings, destination capacity, and credit availability.
- Credit & Loyalty Point System: Enable visitors to top up credits and convert loyalty points, supporting in-park purchases and activities.
- Detailed Reporting: Generate comprehensive reports on card details, area occupancy, and overall park status.
- Object-Oriented Design: Built with a clear, maintainable, and extensible object-oriented architecture in Java.
- Language: Java
- Development Environment: BlueJ (inferred from file structure, can be adapted to other IDEs like IntelliJ IDEA or Eclipse)
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Java Development Kit (JDK) 8 or higher
- A Java IDE (e.g., IntelliJ IDEA, Eclipse, or BlueJ)
-
Clone the repository:
git clone https://github.com/MuhammadHaseebRafique/ZAPP-Resort-Theme-Park-Access-Control-System-Java-.git cd ZAPP-Resort-Theme-Park-Access-Control-System-Java- -
Open in your IDE:
- For BlueJ: Open the
Zapp-ResortorZapp-Resortbjproject folder directly. - For IntelliJ IDEA/Eclipse: Import the
zapp-MainIJfolder as a new Java project. Ensure thesrcdirectory is marked as a source root.
- For BlueJ: Open the
-
Compile and Run:
- Compile all
.javafiles within your chosen IDE. - Run the
Main.javafile (if usingzapp-MainIJ) or theZAPP.javainterface implementation (e.g.,MyTester.javaorParkUI.javainZapp-Resort) to interact with the system.
- Compile all
The system is structured around key entities:
- Cards: Represent individual visitors, holding information such as ID, credits, and points. Different types of cards (e.g.,
ChildCard,CompanyCard,TouristCard) may exist with varying privileges. - Areas: Define distinct zones within the theme park (e.g., attractions, food courts). Each area has a capacity and a rating.
- Bridges: Connect different areas, allowing controlled movement of cards between them. Movement is governed by rules based on card ratings, destination area capacity, and card credits.
- ZAPP Interface: Provides the core functionalities for managing the park, cards, and movements.
The system enforces access rules and manages state changes (e.g., card location, credit balance) as visitors navigate the park.
Contributions are welcome! Please feel free to fork the repository, create a new branch, and submit a pull request for any enhancements, bug fixes, or documentation improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
Muhammad Haseeb Rafique - [Your Email/LinkedIn/Website]
Project Link: https://github.com/MuhammadHaseebRafique/ZAPP-Resort-Theme-Park-Access-Control-System-Java-