Skip to content

Final year project of Graduation, which helps students and working professionals to find mess/rooms for their stay.. which work as a broker between owner of room and student/working professions.

License

Notifications You must be signed in to change notification settings

h4jack/MessFinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Logo MessFinder

πŸš€ Introduction

MessFinder is a final-year graduation project designed to bridge the gap between students or working professionals seeking accommodation and property owners offering rooms or mess facilities. The platform serves as an intermediary, facilitating easy connections and ensuring a seamless experience for both parties.

πŸ”— Live Demo: mess-finder.vercel.app

🧠 Features

  • User Registration & Login: Secure authentication for both students/professionals and room owners.
  • Profile Management: Users can update personal details, preferences, and accommodation requirements.
  • Search & Filter: Advanced search options to find available rooms or mess facilities based on location, price, and amenities.
  • Booking System: Direct communication between users and owners to discuss terms and finalize bookings.
  • Admin Dashboard: Admin panel to manage users, listings, and oversee platform activities.

Screenshots

Search Screens

Home Screen Search Result

Single Room Details View

Single Room Details View

Login Screen

Login Screen

Room Submision Form

Room Submision Form

My PG view

My PG view

πŸ“‚ Project Structure

MessFinder/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€components/
β”‚   β”‚   β”œβ”€β”€ error/
β”‚   β”‚   β”‚   β”œβ”€β”€ error.jsx
β”‚   β”‚   β”‚   └── index.jsx
β”‚   β”‚   β”œβ”€β”€ layout/
β”‚   β”‚   β”‚   β”œβ”€β”€ footer.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ header.jsx
β”‚   β”‚   β”‚   └── index.jsx
β”‚   β”‚   β”œβ”€β”€ owner-form/
β”‚   β”‚   β”‚   β”œβ”€β”€ AccommodationDetails.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ FormButtons.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ImageUpload.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ index.jsx
β”‚   β”‚   β”‚   └── MessDetails.jsx
β”‚   β”‚   └── ui/
β”‚   β”‚       β”œβ”€β”€ alert.jsx
β”‚   β”‚       β”œβ”€β”€ button.jsx
β”‚   β”‚       β”œβ”€β”€ index.jsx
β”‚   β”‚       β”œβ”€β”€ input.jsx
β”‚   β”‚       β”œβ”€β”€ loader.jsx
β”‚   β”‚       β”œβ”€β”€ logo.jsx
β”‚   β”‚       β”œβ”€β”€ option.jsx
β”‚   β”‚       └── set-role.jsx
β”‚   β”œβ”€β”€ context/
β”‚   β”‚   β”œβ”€β”€ firebase.jsx
β”‚   β”‚   β”œβ”€β”€ firebase-config.js
β”‚   β”‚   β”œβ”€β”€ firebase-rtb.jsx
β”‚   β”‚   β”œβ”€β”€ firebase-storage.jsx
β”‚   β”‚   └── useGoogleAuth.jsx
β”‚   β”œβ”€β”€ module/
β”‚   β”‚   β”œβ”€β”€ css/
β”‚   β”‚   └── js/
β”‚   β”‚       β”œβ”€β”€ district-pin.js
β”‚   β”‚       β”œβ”€β”€ navItems.js
β”‚   β”‚       β”œβ”€β”€ relative-time.js
β”‚   β”‚       └── string.js
β”‚   └── pages/
β”‚       β”œβ”€β”€ auth/
β”‚       β”‚   β”œβ”€β”€ index.jsx
β”‚       β”‚   β”œβ”€β”€ login.jsx
β”‚       β”‚   β”œβ”€β”€ logout.jsx
β”‚       β”‚   β”œβ”€β”€ register.jsx
β”‚       β”‚   └── reset.jsx
β”‚       β”œβ”€β”€ dashboard/
β”‚       β”‚   β”œβ”€β”€ bookmarks.jsx
β”‚       β”‚   β”œβ”€β”€ dashboard.jsx
β”‚       β”‚   β”œβ”€β”€ index.jsx
β”‚       β”‚   β”œβ”€β”€ messages.jsx
β”‚       β”‚   β”œβ”€β”€ owner/
β”‚       β”‚   β”‚   β”œβ”€β”€ mypgs.jsx
β”‚       β”‚   β”‚   └── submit-pg.jsx
β”‚       β”‚   β”œβ”€β”€ profile.jsx
β”‚       β”‚   └── settings.jsx
β”‚       β”œβ”€β”€ home/
β”‚       β”‚   β”œβ”€β”€ homeSearch.jsx
β”‚       β”‚   └── index.jsx
β”‚       β”œβ”€β”€ info/
β”‚       β”‚   β”œβ”€β”€ about.jsx
β”‚       β”‚   β”œβ”€β”€ contact.jsx
β”‚       β”‚   β”œβ”€β”€ faqs.jsx
β”‚       β”‚   β”œβ”€β”€ index.jsx
β”‚       β”‚   β”œβ”€β”€ report.jsx
β”‚       β”‚   └── terms.jsx
β”‚       β”œβ”€β”€ profile/
β”‚       β”‚   β”œβ”€β”€ index.jsx
β”‚       β”‚   └── publicProfile.jsx
β”‚       └── rooms/
β”‚           β”œβ”€β”€ index.jsx
β”‚           β”œβ”€β”€ room.jsx
β”‚           └── search.jsx
β”œβ”€β”€ index.css
β”œβ”€β”€ Layout.jsx
β”œβ”€β”€ main.jsx
β”œβ”€β”€ routes.jsx
β”œβ”€β”€ scroll-to-top.jsx
β”œβ”€β”€ public/
β”‚   └── ... # (images, favicon, logo, etc.)
β”œβ”€β”€ index.html
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
└── ... # (all other configuration and integration files)

πŸ› οΈ Technologies Used

Frontend: HTML, CSS, JavaScript, React, TailwindCSS

Backend: Firebase, Firebase.auth, Firebase.storage, Firebase.database

Authentication: Firebase Auth

Deployment: Vercel for frontend

βš™οΈ Setup Instructions

  1. Clone the Repository
git clone https://github.com/h4jack/MessFinder.git
cd MessFinder
  1. Install Dependencies Navigate to the client directory and install dependencies:
cd client
npm install
  1. Configure Environment Variables Create a .env file in the client directory with the following content:
# Firebase Keys..

VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=project_id.firebaseapp.com
VITE_FIREBASE_DATABASE_URL=https://project_id-default-rtdb.asia-southeast1.firebasedatabase.app
VITE_FIREBASE_PROJECT_ID=project_id
VITE_FIREBASE_STORAGE_BUCKET=project_id.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=1:your_sender_id:web:app_id
VITE_FIREBASE_MEASUREMENT_ID=your_management_id

Replace with your_firebase_credentials and your_jwt_secret_key with your actual MongoDB URI and a secret key for JWT authentication.

  1. Run the Application
npm run dev

The application should now be running locally.

Authors

Documentation

Documentation

License

MIT

About

Final year project of Graduation, which helps students and working professionals to find mess/rooms for their stay.. which work as a broker between owner of room and student/working professions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published