Skip to content

RoomBuddy is a dynamic web platform designed to help individuals find compatible roommates and rental listings based on their city and preferences. With real-time listings, secure authentication, and an intuitive interface, RoomBuddy simplifies the process of connecting people looking for shared accommodations.

License

Notifications You must be signed in to change notification settings

NirmalsaiswaroopJ/RoomBuddy-JFS-Real-Time-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RoomBuddy-JFS-Real-Time-Project

RoomBuddy is a dynamic web platform designed to help individuals find compatible roommates and rental listings based on their city and preferences. With real-time listings, secure authentication, and an intuitive interface, RoomBuddy simplifies the process of connecting people looking for shared accommodations.

Table of Contents

Project Overview

Finding a compatible roommate can be a challenging task. RoomBuddy aims to streamline this process by providing a platform where users can:

  • Search Listings by City: Filter available rooms and roommates effortlessly.
  • Post & Manage Room Listings: List your available space with details like rent and contact info.
  • Secure Login & Registration: Authenticate users safely with password recovery options.
  • Interactive UI: A clean and responsive design using Bootstrap.
  • Real-time Data Fetching: Fast and efficient updates with dynamic search functionality.
  • Contact Room Owners: Easily get in touch with potential roommates.

Technologies Used

Frontend

  • HTML5
  • CSS3
  • JavaScript
  • Bootstrap 5

Backend

  • Java
  • Spring Boot
  • JDBC

Database

  • MySQL

Version Control

  • GitHub

Folder Structure

RoomBuddy/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── example/
│   │   │           └── roombuddy/
│   │   │               ├── config/
│   │   │               ├── controller/
│   │   │               ├── dto/
│   │   │               ├── entity/
│   │   │               ├── repository/
│   │   │               └── service/
│   │   ├── resources/
│   │       ├── static/
│   │       └── application.properties
│   └── test/
├── .gitignore
├── HELP.md
├── LICENSE
├── mvnw
├── mvnw.cmd
├── pom.xml
└── README.md
  • config/: Contains configuration classes such as security configurations, and any custom beans used in the application.
  • controller/: Contains the REST controllers handling HTTP requests.
  • dto/: Contains Data Transfer Objects (DTOs) that are used to transfer data between layers (e.g., between controllers and services) without exposing the full entity models.
  • entity/: Contains the data models representing entities.
  • repository/: Contains the data access logic.
  • service/: Contains the business logic.
  • static/: Contains static assets like CSS, JavaScript, and images.
  • application.properties: Configuration properties for the application.

Spring Boot Initializer Configuration

The project was initialized using Spring Initializr with the following settings:

  • Project: Maven Project
  • Language: Java
  • Spring Boot: 2.5.4
  • Packaging: Jar
  • Java: 11

Dependencies

  • Spring Web
  • Spring Data JPA
  • MySQL Driver
  • Spring Security

Implementation Guide

To set up and run the RoomBuddy project locally:

1. Clone the Repository

git clone https://github.com/NirmalsaiswaroopJ/RoomBuddy-JFS-Real-Time-Project.git
cd RoomBuddy-JFS-Real-Time-Project

**2. Configure the Database

  • Ensure you have MySQL installed and running.
  • Create a database named roombuddy.
  • Update the application.properties file with your database credentials:
spring.datasource.url=jdbc:mysql://localhost:3306/roombuddy
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true

**3. Build and Run the Application

Run the following commands to build and start the application:

./mvnw clean install
./mvnw spring-boot:run

**4. Access the Application

Once the application is running, navigate to:

http://localhost:8080

in your browser.

Problem Statement and Solution

Problem

Finding a compatible roommate can be time-consuming and challenging, often involving multiple platforms and manual searches.

Solution

RoomBuddy addresses this issue by providing a centralized platform where users can:

  • 🔍 Search for available rooms in their desired city.
  • 🏠 Post listings for available rooms with detailed information.
  • 📞 Connect with potential roommates through provided contact information.
  • ⚙️ Manage their listings and profiles through a user-friendly interface.

This streamlined approach saves time and increases the chances of finding a suitable living arrangement.


Live Demo

Static Webpage - [https://roombuddyjfs.netlify.app/]

Note: Only showcased to understand the navigation and web application workflow.

Contributing

Thank you for considering contributing to RoomBuddy! 🎉
I welcome suggestions, bug reports, and pull requests.

To contribute:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/YourFeature
  3. Commit your changes:
    git commit -m "Add YourFeature"
  4. Push to the branch:
    git push origin feature/YourFeature
  5. Open a Pull Request. Please ensure your code adheres to the existing code style and includes relevant tests

Acknowledgements

Thank you for exploring RoomBuddy! 🚀
I hope this platform assists you in finding the perfect roommate.

If you have any suggestions or feedback, feel free to reach out or open an issue on GitHub. 😊

About

RoomBuddy is a dynamic web platform designed to help individuals find compatible roommates and rental listings based on their city and preferences. With real-time listings, secure authentication, and an intuitive interface, RoomBuddy simplifies the process of connecting people looking for shared accommodations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published