Skip to content

Rohan-og4788/roommatefinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏠 RoomMate - Find Rooms & Roommates Effortlessly

RoomMate is a modern full-stack web application designed to help students, working professionals, and travelers find suitable rooms and compatible roommates. The platform simplifies the accommodation search process through smart filtering, detailed listings, secure communication, and an intuitive user experience.


🌟 Overview

Finding a room or a compatible roommate can be challenging, especially when moving to a new city. RoomMate provides a centralized platform where users can:

  • Search available rooms
  • Find roommates with similar preferences
  • Post room listings
  • Manage accommodation details
  • Connect with potential roommates

The platform aims to make housing discovery faster, safer, and more convenient.


✨ Key Features

🏠 Room Listings

  • Post room availability
  • Upload room images
  • Add rent details
  • Mention amenities and facilities
  • Location-based listings

πŸ‘₯ Roommate Finder

  • Create roommate profiles
  • Match based on preferences
  • View roommate requirements
  • Connect with potential roommates

πŸ” Advanced Search & Filters

  • Search by city
  • Filter by rent range
  • Filter by room type
  • Gender preferences
  • Amenities-based filtering

❀️ Favorites & Saved Listings

  • Save favorite rooms
  • Bookmark roommate profiles
  • Quick access to saved searches

πŸ’¬ Communication System

  • Direct messaging
  • Contact listing owners
  • Inquiry management

πŸ“± Responsive Design

  • Mobile Friendly
  • Tablet Compatible
  • Desktop Optimized

πŸ” Authentication & Security

  • Secure Registration
  • Login & Logout
  • JWT Authentication
  • Protected Routes
  • User Profile Management

πŸš€ Tech Stack

Frontend

  • React.js
  • TypeScript
  • Tailwind CSS
  • Vite
  • Axios

Backend

  • Node.js
  • Express.js
  • TypeScript

Database

  • MongoDB
  • Prisma ORM

Authentication

  • JWT
  • bcrypt

Storage

  • Cloudinary

Development Tools

  • Git
  • GitHub
  • Postman
  • VS Code

πŸ“‚ Project Structure

roommate/
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ layouts/
β”‚   β”‚   └── assets/
β”‚   β”‚
β”‚   └── package.json
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   β”œβ”€β”€ models/
β”‚   β”‚   └── config/
β”‚   β”‚
β”‚   └── package.json
β”‚
β”œβ”€β”€ screenshots/
β”œβ”€β”€ README.md
└── .gitignore

🌐 Live Demo

πŸ”— Live Website:

https://your-live-demo-link.com


πŸŽ₯ Demo Video

▢️ Watch Project Demo:

https://your-demo-video-link.com


πŸ“Έ Screenshots

🏠 Landing Page

Landing Page

πŸ” Room Search

Room Search

🏑 Room Details

Room Details

πŸ‘₯ Roommate Profiles

Roommate Profiles

❀️ Saved Listings

Saved Listings

πŸ“± Mobile Responsive View

Mobile View


βš™οΈ Installation

Clone Repository

git clone https://github.com/your-username/roommate.git

Navigate to Project

cd roommate

Install Frontend Dependencies

cd frontend
npm install

Install Backend Dependencies

cd ../backend
npm install

Configure Environment Variables

Create a .env file inside the backend folder:

PORT=5000

DATABASE_URL=your_database_url

JWT_SECRET=your_jwt_secret

CLOUDINARY_CLOUD_NAME=your_cloud_name

CLOUDINARY_API_KEY=your_api_key

CLOUDINARY_API_SECRET=your_api_secret

Start Backend

npm run dev

Start Frontend

cd ../frontend
npm run dev

πŸ“‘ Core Modules

Authentication Module

  • User Registration
  • User Login
  • Password Encryption
  • Session Management

Room Management Module

  • Add Listings
  • Edit Listings
  • Delete Listings
  • Upload Images

Roommate Matching Module

  • Profile Creation
  • Preference Matching
  • Recommendations

Search Module

  • Smart Filtering
  • Sorting Options
  • Location Search

🎯 Future Enhancements

  • πŸ€– AI-Based Roommate Matching
  • πŸ“ Google Maps Integration
  • πŸ’¬ Real-Time Chat
  • πŸ”” Push Notifications
  • πŸ“… Room Booking System
  • ⭐ Reviews & Ratings
  • πŸ“Š User Analytics Dashboard
  • πŸŒ™ Dark Mode
  • πŸ“± Mobile Application

πŸ§ͺ Testing

Run tests:

npm test

πŸ† Learning Outcomes

This project demonstrates:

  • Full-Stack Web Development
  • REST API Development
  • Authentication & Authorization
  • Database Design
  • File Upload Management
  • Responsive UI Development
  • State Management
  • Secure Application Architecture

🀝 Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch
git checkout -b feature/new-feature
  1. Commit changes
git commit -m "Added new feature"
  1. Push changes
git push origin feature/new-feature
  1. Open a Pull Request

πŸ‘¨β€πŸ’» Author

Rohan Vyavahare

GitHub: https://github.com/Rohan-og4788


πŸ“œ License

This project is licensed under the MIT License.


⭐ Support

If you found this project useful, please consider giving it a ⭐ on GitHub.

Your support helps improve the project and encourages future development.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors