Sakancom is an innovative Java-based backend platform designed to streamline apartment bookings for students. It enables seamless communication between students and property owners and includes a furniture exchange feature to foster community engagement and promote sustainable living.
-
Apartment Booking:
- Students can browse and book apartments based on location and preferences.
- Property owners can list their apartments and manage bookings.
-
Direct Communication:
- Enables secure and direct communication between students and property owners.
-
Furniture Exchange:
- A unique feature allowing students to exchange furniture, promoting sustainability and reducing waste.
-
Testing:
- Comprehensive unit and integration testing to ensure application reliability.
-
Continuous Integration:
- Jenkins is used for automated builds and testing to maintain code quality.
- Java (JDK 8 or higher)
- Maven (Build tool)
- MySQL or any preferred database
- Jenkins (for CI/CD)
-
Clone the repository:
git clone https://github.com/Yazan-Kariem/Sakancom-Software- cd Sakancom-Software- -
Build the project using Maven:
mvn clean install
-
Set up the database:
- Create a database named
sakancom. - Import the
sakancom.sqlfile into your database.
- Create a database named
-
Configure application properties: Update the
application.propertiesfile in thesrc/main/resourcesdirectory with your database credentials:spring.datasource.url=jdbc:mysql://localhost:3306/sakancom spring.datasource.username=your-username spring.datasource.password=your-password
-
Run the application:
mvn spring-boot:run
-
Run unit and integration tests using Maven:
mvn test -
Testing features are included in the
src/testdirectory.
-
Set up Jenkins:
- Install Jenkins on your server or use a cloud-based Jenkins instance.
-
Configure Jenkins for the project:
- Add the project repository to a Jenkins job.
- Configure the build triggers and pipeline to run on every commit.
-
Automated Testing:
- Jenkins will execute automated tests after each build to ensure code quality.
src/main: Contains the main application source code.src/test: Includes unit and integration tests.application.properties: Configuration file for database and application settings.
This project is open-source and available under the MIT License.
For queries or feedback, reach out:
- Name: Kariem AbuAisheh
- Email: kariemalwazany@gmail.com