{"id":24404169,"url":"https://github.com/alvincoded/theater-ticket-booking-system","last_synced_at":"2026-05-08T14:46:13.552Z","repository":{"id":270135554,"uuid":"906519910","full_name":"AlvinCoded/theater-ticket-booking-system","owner":"AlvinCoded","description":"A Java-based desktop application for booking musical theater tickets, featuring an intuitive GUI and robust ticket management system.","archived":false,"fork":false,"pushed_at":"2025-01-17T04:38:43.000Z","size":711,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-13T07:44:00.601Z","etag":null,"topics":["booking-seat","booking-system","database","java","javaswing","musical","mysql-database","online-booking","theater","theatre","ticket-booking","ticketing-system"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlvinCoded.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-21T06:03:37.000Z","updated_at":"2025-01-17T04:38:44.000Z","dependencies_parsed_at":"2024-12-28T18:24:39.040Z","dependency_job_id":"73d03ca1-6445-406e-9e48-4dca1748c19d","html_url":"https://github.com/AlvinCoded/theater-ticket-booking-system","commit_stats":null,"previous_names":["alvincoded/theater-ticket-booking-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlvinCoded/theater-ticket-booking-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlvinCoded%2Ftheater-ticket-booking-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlvinCoded%2Ftheater-ticket-booking-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlvinCoded%2Ftheater-ticket-booking-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlvinCoded%2Ftheater-ticket-booking-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlvinCoded","download_url":"https://codeload.github.com/AlvinCoded/theater-ticket-booking-system/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlvinCoded%2Ftheater-ticket-booking-system/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262163944,"owners_count":23268779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["booking-seat","booking-system","database","java","javaswing","musical","mysql-database","online-booking","theater","theatre","ticket-booking","ticketing-system"],"created_at":"2025-01-20T04:00:30.926Z","updated_at":"2026-05-08T14:46:13.346Z","avatar_url":"https://github.com/AlvinCoded.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎭 Musical Theater Ticket Booking System\nA comprehensive Java-based desktop application for booking musical theater tickets, featuring an intuitive GUI and robust ticket management system.\n\n## ✨ Features\n### Core Functionality\n- **Interactive GUI** with multi-panel navigation\n- **Musical Catalog** with detailed show information\n- **Category Filtering** for easy show browsing\n- **Dynamic Schedule Display** with available show times\n- **Smart Ticket Management** with real-time availability tracking\n- **Flexible Pricing System** with automatic discounts\n- **Day Availability Checker** to validate show schedules\n- **Digital Receipt Generation** with timestamp and booking details\n\n### Technical Features\n- **MySQL Database Integration** for robust data management\n- **Object-oriented design**\n- **Responsive Swing GUI**\n- **Real-time validation**\n- **Error handling and user feedback**\n  \n## 📸 Screenshots\n\u003ci\u003e Not to worry, this UI will change in due time 😅. Currrently focusing more on functionality.\u003c/i\u003e\n\n\u003cdetails\u003e\n\t\u003csummary\u003eView screenshots\u003c/summary\u003e\n    \u003cp align=\"left\"\u003e\n        \u003cimg src=\"screenshots/customer-home-screen.png\" width=\"400\" style=\"border-radius:50%\" alt=\"Musical List View\"\u003e\n        \u003cimg src=\"screenshots/booking-success.png\" width=\"500\" style=\"border-radius:50%\" alt=\"Booking Confirmation\"\u003e\n        \u003cimg src=\"screenshots/admin-dashboard.png\" width=\"400\" style=\"border-radius:50%\" alt=\"Admin Dashboard\"\u003e\n        \u003cimg src=\"screenshots/booking-process.png\" width=\"600\" style=\"border-radius:50%\" alt=\"Booking Process\"\u003e\n    \u003c/p\u003e\n\u003c/details\u003e\n\n\u003cbr/\u003e\n\n## 🛠️ Prerequisites\n- Java Development Kit (JDK) 17 or higher\n- Any Java IDE (Eclipse, IntelliJ IDEA, or NetBeans)\n- MySQL Server 8.0 or higher\n- MySQL Connector/J JDBC Driver\n\n## 🎯 Future Enhancements\n\u003ci\u003eIn this section, completed or achieved features so far will be marked with `✔️`\u003c/i\u003e\n### Planned Features\n- **Online Payment Integration** 💳\n- **User Authentication System** 🔐 `✔️`\n- **Email Confirmation** 📧\n- **Mobile-Responsive Design** 📱 `✔️`\n- **Seat Selection Interface** 💺 `✔️`\n- **Season Pass Management** 🎫\n- **Group Booking Discounts** 👥\n- **Loyalty Program** ⭐\n- **Show Reviews \u0026 Ratings** ⭐\n- **Multi-language Support** 🌐\n\n### System Improvements\n- Database integration for robust data management `✔️`\n- API implementation for third-party integrations\n- Performance optimization for large-scale bookings `✔️`\n- Enhanced security features `✔️`\n- Automated backup system\n- Analytics dashboard `✔️`\n\n## 🔍 Additional Features Needed\n\u003ci\u003eIn this section, completed or achieved features so far will be marked with `✔️`\u003c/i\u003e\n1. **Venue Management** `✔️`\n   - Seating layout visualization `✔️`\n   - Section-based pricing `✔️`\n   - Capacity management `✔️`\n\n2. **Customer Management**\n   - Customer profiles `✔️`\n   - Booking history\n   - Preferences tracking\n\n3. **Administrative Features**\n   - Staff access controls `✔️`\n   - Sales reporting `✔️`\n   - Inventory management\n   - Show management interface `✔️`\n\n4. **Marketing Integration**\n   - Promotional code system\n   - Email marketing integration\n   - Social media sharing\n\n5. **Support System**\n   - Ticket cancellation\n   - Refund processing\n   - Customer service interface\n\n## 📦 Installation (Follow carefully)\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/AlvinCoded/theater-ticket-booking-system.git\n```\n\n2. Navigate to the project directory:\n```bash\ncd theater-ticket-booking-system\n```\n\n3. Set up MySQL Database by importing `musical_tickets.sql`.\n\n4. Add MySQL Connector and the other required JARs to project:\n- Download MySQL Connector/J, JCommon, JDatePicker, Joda Time and JFreeChart from their official websites\n- Create a `lib` folder in the project root\n- Place the `mysql-connector-java-*.jar`, `jcommon-*.jar`, `jdatepicker-*.jar`, `joda-time-*.jar` and `jfreechart-*`,  in the `lib` folder\n\n5. Configure database connection:\n- Open MusicalDataHandler.java\n- Update the following constants with your MySQL credentials:\n```java\nprivate static final String DB_URL = \"jdbc:mysql://localhost:3306/musical_tickets\";\nprivate static final String USER = \"your_username\";\nprivate static final String PASS = \"your_password\";\n```\n\n6. Compile and run the application:\n```bash\njavac -cp \"lib/*:.\" FinalGUI.java\njava -cp \"lib/*:.\" FinalGUI\n```\n\nFor Windows, use semicolons instead of colons:\n```bash\njavac -cp \"lib/*;.\" FinalGUI.java\njava -cp \"lib/*;.\" FinalGUI\n```\n\n## Some IDE-Specific Setup\n\u003ci\u003eRepeat these steps for the other required library JARs\u003c/i\u003e\n### Eclipse\n1. Right-click on project → Properties → Java Build Path\n2. Click \"Add External JARs\"\n3. Navigate to lib folder and select mysql-connector-java-*.jar\n\n### IntelliJ IDEA\n1. File → Project Structure → Libraries\n2. Click + → Java\n3. Navigate to lib folder and select mysql-connector-java-*.jar\n\n### NetBeans\n1. Right-click on project → Properties → Libraries → Add JAR/Folder\n2. Navigate to lib folder and select mysql-connector-java-*.jar\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## 📝 License\n\nThis project is licensed under the Apache License 2.0.\n\n## 🙏 Acknowledgments\n\n- Java Swing documentation\n- JCommon documentation\n- JDatePicker documentation\n- Joda Time documentation\n- JFreeChart documentation\n- JavaFX documentation\n\n---\n⚠️ **Note**: This project uses MySQL for data persistence. Ensure MySQL Server is running and properly configured before launching the application. For production use, additional security measures and features would be necessary.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falvincoded%2Ftheater-ticket-booking-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falvincoded%2Ftheater-ticket-booking-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falvincoded%2Ftheater-ticket-booking-system/lists"}