Skip to content

Adarshraj8/room-rentalService

Repository files navigation

🏠 Room Rental App 🔹 Overview Room Rental App is a full-stack web application where users can explore available rooms for rent. Users can filter rooms based on price, location, and other factors, making it easier to find suitable accommodations. The app follows a microservices-based architecture, with a React frontend, a Spring Boot backend, and PostgreSQL as the database. It also includes authentication and authorization for secure operations.

Project Screenshot 1

Project Screenshot 2

🌍 Tech Stack 🔹 Frontend: React.js (for UI) React Router (for navigation) Axios (for API calls) Bootstrap / Tailwind CSS (for responsive design)

🔹 Backend: Spring Boot (REST API development) Spring Security (Authentication & Authorization) PostgreSQL (Database) JPA / Hibernate (ORM for database interactions)

Deployment & DevOps: AWS S3 (Frontend hosting) AWS EC2 (Backend deployment) Docker (Containerization) Jenkins (CI/CD for automated deployment)

🛠️ Automated CI/CD Pipeline with Jenkins, Docker & AWS 🔄 Continuous Integration & Deployment Flow 🚀 Jenkins Pipeline Automates Everything!

📌 Step-by-Step CI/CD Process: 1️⃣ Developer Pushes Code to GitHub (Frontend/Backend Repo). 2️⃣ Jenkins Pipeline is Triggered Automatically.

Jenkins is configured with a GitHub Webhook, so whenever new code is pushed, Jenkins starts the build process. 3️⃣ Jenkins Clones the Repository & Builds the Application. For Backend: Jenkins compiles the Spring Boot project using Maven (mvn clean package). For Frontend: Jenkins runs npm install && npm run build to create production-ready files. 4️⃣ Docker Image is Created for Backend. FROM openjdk:17 WORKDIR /app COPY target/room-rental-backend.jar app.jar ENTRYPOINT ["java", "-jar", "app.jar"] Jenkins generates a Dockerfile dynamically and builds a Docker image. 5️⃣ Jenkins Pushes Docker Image to Docker Hub. docker build -t room-rental-backend . 6️⃣ AWS EC2 Automatically Pulls Latest Docker Image. docker pull YOUR_DOCKERHUB_USERNAME/room-rental-backend:latest docker stop room-rental-backend docker rm room-rental-backend docker run -d -p 8080:8080 --name room-rental-backend YOUR_DOCKERHUB_USERNAME/room-rental-backend:latest 7️⃣ Nginx (Reverse Proxy) Ensures Smooth API Requests.

Nginx is set up on AWS EC2 to forward API requests to the backend. 8️⃣ Frontend (React) is Uploaded to AWS S3 & CloudFront. aws s3 sync ./build/ s3://room-rental-frontend --delete

9️⃣ Application is Fully Deployed & Available to Users.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors