{"id":18111549,"url":"https://github.com/anshika010/hotel-reservation-system","last_synced_at":"2026-04-29T00:35:02.962Z","repository":{"id":259322437,"uuid":"871941643","full_name":"ANSHIKA010/Hotel-Reservation-System","owner":"ANSHIKA010","description":"The Hotel Reservation System is a console-based application developed in Java that allows users to manage room bookings efficiently. With functionality to reserve, view, update, and delete reservations, it streamlines the hotel management process. ","archived":false,"fork":false,"pushed_at":"2024-11-15T13:06:16.000Z","size":3854,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T13:56:24.909Z","etag":null,"topics":["cli-tool","dotenv-java","java","jdbc","jdk18","mysql","mysql-database"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ANSHIKA010.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-10-13T11:31:26.000Z","updated_at":"2024-11-15T13:06:20.000Z","dependencies_parsed_at":"2024-12-19T16:44:23.913Z","dependency_job_id":"faa0bc36-ea19-48d7-ac5c-552e2bfb842a","html_url":"https://github.com/ANSHIKA010/Hotel-Reservation-System","commit_stats":null,"previous_names":["anshika010/hotel-reservation-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANSHIKA010%2FHotel-Reservation-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANSHIKA010%2FHotel-Reservation-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANSHIKA010%2FHotel-Reservation-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANSHIKA010%2FHotel-Reservation-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ANSHIKA010","download_url":"https://codeload.github.com/ANSHIKA010/Hotel-Reservation-System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247452385,"owners_count":20941089,"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":["cli-tool","dotenv-java","java","jdbc","jdk18","mysql","mysql-database"],"created_at":"2024-11-01T01:06:12.621Z","updated_at":"2026-04-29T00:35:02.922Z","avatar_url":"https://github.com/ANSHIKA010.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hotel Reservation System\nA Hotel Reservation System designed in Java to streamline the process of room reservations in a hotel. \nThe system allows users to reserve rooms, view current reservations, update bookings, and delete reservations through a console-based interface. \nThe project integrates a MySQL database for storing and managing reservation data, utilizing JDBC for database connectivity.\n\n\n## Features\n- **Reserve a Room:** Users can book a room by providing guest details, room number, and contact information.\n- **View Reservations:** Display all existing reservations with details like reservation ID, guest name, room number, and reservation date.\n- **Get Room Number:** Retrieve the room number associated with a specific reservation by providing the reservation ID and guest name.\n- **Update Reservation:** Modify existing reservation details, such as guest name, room number, and contact information.\n- **Delete Reservation:** Remove a reservation from the system by providing the reservation ID.\n- **Exit:** Gracefully exit the system.\n\n## Technologies Used\n- **Java:** Core programming language for building the system.\n- **JDK:**: Java Development Kit (JDK 18 or later) to compile and run the program\n- **JDBC:** Java Database Connectivity for interacting with the MySQL database.\n- **MySQL:** Database for storing reservation details.\n- **IntelliJ IDEA:** Integrated Development Environment (IDE) for coding and debugging.\n- **Dotenv:** Java Dependency for managing environment variables like database credentials.\n  \n### -- High Level Design --\n![High Level Design](https://github.com/user-attachments/assets/0f5b3b88-3c18-4eab-846b-91643f898295)\n\n### -- Sequence Diagram --\n![Sequence Diagram](https://github.com/user-attachments/assets/24a1d71c-df6f-45fa-8352-f84459a65ae0)\n\n\n## How to Set Up\n\n### 1. Clone the repository:\n  ```bash\n    git clone https://github.com/ANSHIKA010/hotel_reservation_system.git\n  ```\n\n### 2. Database Setup:\n\n- Ensure that MySQL is installed and running on your machine.\n- Create a database and the necessary tables for storing reservations using the mysql [dump file](./database/hotel_db_reservation.sql) present in database folder.\n\n### 3. Configure Environment Variables:\n\n- Use the .env.example file to configure the database connection details.\n\n### 4. Run the Application:\n\n- Open the project in IntelliJ IDEA or any Java IDE.\n- Use JDK(18 or later) to compile and run the program.\n- Ensure the required MySQL JDBC driver is added to the project dependencies.\n- Run the Main class to start the system.\n\n## How to Use\nOnce the system starts, a menu will be displayed with options:\n\n```markdown\nHOTEL MANAGEMENT SYSTEM\n1. Reserve a room\n2. View Reservations\n3. Get Room Number\n4. Update Reservation\n5. Delete Reservation\n0. Exit\nSelect the desired option by entering the corresponding number and follow the prompts.\n```\n\n### Example Operations\n\n#### 1. Reserving a Room\n- Enter 1\n- Enter guest details (name room_number contact_number).\n  \nThe system will confirm if the reservation is successful.\n\n#### 2. Viewing Reservations\n- Enter 2\n  \nDisplays a list of all active reservations with their details in a table format.\n\n#### 3. Get Room Details\n- Enter 3\n- Enter room_number\n\nGet the guest details of the entered room number.\n\n#### 4. Updating Reservation\n- Enter 4\n- Enter reservation details (ReservationId guest_name room_number contact_number)\n  \nModify the guest name, room number, or contact number for an existing reservation.\n\n### 5. Deleting a Reservation\n- Enter 5\n- Enter reservation_id\n  \nPermanently delete a reservation by providing the reservation ID.\n\n### 6. Exiting the system\n- Enter 0\n  \nTo exit the system.\n\n### -- User Flow --\n![User Flow](https://github.com/user-attachments/assets/94eb0b66-3c0e-4ab4-b7f3-efd032ca96ba)\n\n\n\n## Project Structure\n\n```bash\n  hotel_reservation_system/\n  │\n  |   .env                              # Environment file for sensitive information.\n  |   .env.example                      # Environment file example.\n  |   .gitIgnore\n  |   hotel_reservation_system.iml        \n  |\n  +---database\n  |       hotel_db_reservation.sql      # MySQL database dump file to initialize the DB.\n  |\n  +---lib                               # Contains the libraries used for the project.\n  |       dotenv-java-3.0.2.jar\n  |       mysql-connector-java-8.0.28.jar\n  |       protobuf-java-3.11.4.jar\n  |\n  +---out\n  |   \\---production\n  |       \\---hotel_reservation_system\n  |               Main.class\n  |\n  \\---src\n          Main.java                      # Entry point of the application\n  \n```\n\n## Future Improvements\n- Add a graphical user interface (GUI) for a more user-friendly experience.\n- Implement user authentication for better security.\n- Allow dynamic pricing and availability checks for rooms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanshika010%2Fhotel-reservation-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanshika010%2Fhotel-reservation-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanshika010%2Fhotel-reservation-system/lists"}