https://github.com/soufiane-boushaba/smarthotelbookingsystem
  
  
    Java console application for hotel reservations with advanced features like dynamic pricing, statistics reporting, and PostgreSQL integration. Implements Singleton and Repository design patterns, uses Java Streams, Optionals, and Enums, and is structured in layers (Service, DAO) for maintainability and scalability. 
    https://github.com/soufiane-boushaba/smarthotelbookingsystem
  
dao-design-pattern java repository-pattern singleton-pattern
        Last synced: 8 months ago 
        JSON representation
    
Java console application for hotel reservations with advanced features like dynamic pricing, statistics reporting, and PostgreSQL integration. Implements Singleton and Repository design patterns, uses Java Streams, Optionals, and Enums, and is structured in layers (Service, DAO) for maintainability and scalability.
- Host: GitHub
 - URL: https://github.com/soufiane-boushaba/smarthotelbookingsystem
 - Owner: SOUFIANE-BOUSHABA
 - Created: 2024-09-08T20:51:43.000Z (about 1 year ago)
 - Default Branch: master
 - Last Pushed: 2024-09-18T14:49:30.000Z (about 1 year ago)
 - Last Synced: 2025-01-10T06:53:53.405Z (10 months ago)
 - Topics: dao-design-pattern, java, repository-pattern, singleton-pattern
 - Language: Java
 - Homepage:
 - Size: 48.8 KB
 - Stars: 0
 - Watchers: 1
 - Forks: 0
 - Open Issues: 0
 - 
            Metadata Files:
            
- Readme: README.md
 
 
Awesome Lists containing this project
README
          
  
    
SMARTHOTELBOOKINGSYSTEM
    โฏ REPLACE-ME
	
	
	
	
		Built with the tools and technologies:
	
##### ๐ Table of Contents
- [๐ Overview](#-overview)
- [๐พ Features](#-features)
- [๐ Repository Structure](#-repository-structure)
- [๐งฉ Modules](#-modules)
- [๐ Getting Started](#-getting-started)
    - [๐ Prerequisites](#-prerequisites)
    - [๐ฆ Installation](#-installation)
    - [๐ค Usage](#-usage)
    - [๐งช Tests](#-tests)
- [๐ Project Roadmap](#-project-roadmap)
- [๐ค Contributing](#-contributing)
- [๐ License](#-license)
- [๐ Acknowledgments](#-acknowledgments)
---
## ๐ Overview
โฏ REPLACE-ME
---
## ๐พ Features
โฏ REPLACE-ME
---
## ๐ Repository Structure
```sh
โโโ SmartHotelBookingSystem/
    โโโ SmartHotelBookingSystem.iml
    โโโ src
        โโโ Main.java
        โโโ controller
        โโโ model
        โโโ repository
        โโโ service
        โโโ utils
```
---
## ๐งฉ Modules
src
| File | Summary |
| --- | --- |
| [Main.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/Main.java) | โฏ REPLACE-ME |
src.repository
| File | Summary |
| --- | --- |
| [SeasonRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/SeasonRepository.java) | โฏ REPLACE-ME |
| [ClientRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/ClientRepository.java) | โฏ REPLACE-ME |
| [SpecialEventRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/SpecialEventRepository.java) | โฏ REPLACE-ME |
| [HotelRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/HotelRepository.java) | โฏ REPLACE-ME |
| [ReservationRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/ReservationRepository.java) | โฏ REPLACE-ME |
| [RoomRepository.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/RoomRepository.java) | โฏ REPLACE-ME |
src.repository.impl
| File | Summary |
| --- | --- |
| [ClientRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/ClientRepositoryImpl.java) | โฏ REPLACE-ME |
| [SeasonRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/SeasonRepositoryImpl.java) | โฏ REPLACE-ME |
| [HotelRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/HotelRepositoryImpl.java) | โฏ REPLACE-ME |
| [ReservationRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/ReservationRepositoryImpl.java) | โฏ REPLACE-ME |
| [RoomRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/RoomRepositoryImpl.java) | โฏ REPLACE-ME |
| [SpecialEventRepositoryImpl.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/repository/impl/SpecialEventRepositoryImpl.java) | โฏ REPLACE-ME |
src.controller
| File | Summary |
| --- | --- |
| [ClientController.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/controller/ClientController.java) | โฏ REPLACE-ME |
| [RoomController.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/controller/RoomController.java) | โฏ REPLACE-ME |
| [HotelController.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/controller/HotelController.java) | โฏ REPLACE-ME |
| [ReservationController.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/controller/ReservationController.java) | โฏ REPLACE-ME |
src.utils
| File | Summary |
| --- | --- |
| [DateValidator.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/utils/DateValidator.java) | โฏ REPLACE-ME |
| [DataPrinter.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/utils/DataPrinter.java) | โฏ REPLACE-ME |
| [ReportGenerator.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/utils/ReportGenerator.java) | โฏ REPLACE-ME |
| [DatabaseConnection.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/utils/DatabaseConnection.java) | โฏ REPLACE-ME |
src.model
| File | Summary |
| --- | --- |
| [SpecialEvent.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/SpecialEvent.java) | โฏ REPLACE-ME |
| [Reservation.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/Reservation.java) | โฏ REPLACE-ME |
| [Client.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/Client.java) | โฏ REPLACE-ME |
| [Hotel.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/Hotel.java) | โฏ REPLACE-ME |
| [Room.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/Room.java) | โฏ REPLACE-ME |
| [Season.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/Season.java) | โฏ REPLACE-ME |
src.model.enums
| File | Summary |
| --- | --- |
| [RoomType.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/enums/RoomType.java) | โฏ REPLACE-ME |
| [ReportType.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/enums/ReportType.java) | โฏ REPLACE-ME |
| [PaymentStatus.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/model/enums/PaymentStatus.java) | โฏ REPLACE-ME |
src.service
| File | Summary |
| --- | --- |
| [HotelService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/HotelService.java) | โฏ REPLACE-ME |
| [RoomService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/RoomService.java) | โฏ REPLACE-ME |
| [ReservationService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/ReservationService.java) | โฏ REPLACE-ME |
| [SeasonService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/SeasonService.java) | โฏ REPLACE-ME |
| [SpecialEventService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/SpecialEventService.java) | โฏ REPLACE-ME |
| [ClientService.java](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/src/service/ClientService.java) | โฏ REPLACE-ME |
---
## ๐ Getting Started
### ๐ Prerequisites
**Java**: `version x.y.z`
### ๐ฆ Installation
Build the project from source:
1. Clone the SmartHotelBookingSystem repository:
```sh
โฏ git clone https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem
```
2. Navigate to the project directory:
```sh
โฏ cd SmartHotelBookingSystem
```
3. Install the required dependencies:
```sh
โฏ mvn clean install
```
### ๐ค Usage
To run the project, execute the following command:
```sh
โฏ java -jar target/myapp.jar
```
### ๐งช Tests
Execute the test suite using the following command:
```sh
โฏ mvn test
```
---
## ๐ Project Roadmap
- [X] **`Task 1`**: Implement feature one.
- [ ] **`Task 2`**: Implement feature two.
- [ ] **`Task 3`**: Implement feature three.
---
## ๐ค Contributing
Contributions are welcome! Here are several ways you can contribute:
- **[Report Issues](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/issues)**: Submit bugs found or log feature requests for the `SmartHotelBookingSystem` project.
- **[Submit Pull Requests](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs.
- **[Join the Discussions](https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem/discussions)**: Share your insights, provide feedback, or ask questions.
Contributing Guidelines
1. **Fork the Repository**: Start by forking the project repository to your github account.
2. **Clone Locally**: Clone the forked repository to your local machine using a git client.
   ```sh
   git clone https://github.com/SOUFIANE-BOUSHABA/SmartHotelBookingSystem
   ```
3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.
   ```sh
   git checkout -b new-feature-x
   ```
4. **Make Your Changes**: Develop and test your changes locally.
5. **Commit Your Changes**: Commit with a clear message describing your updates.
   ```sh
   git commit -m 'Implemented new feature x.'
   ```
6. **Push to github**: Push the changes to your forked repository.
   ```sh
   git push origin new-feature-x
   ```
7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.
8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph
---
## ๐ License
This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file.
---
## ๐ Acknowledgments
- List any resources, contributors, inspiration, etc. here.
---