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
- 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.
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)
Frontend: HTML, CSS, JavaScript, React, TailwindCSS
Backend: Firebase, Firebase.auth, Firebase.storage, Firebase.database
Authentication: Firebase Auth
Deployment: Vercel for frontend
- Clone the Repository
git clone https://github.com/h4jack/MessFinder.git
cd MessFinder
- Install Dependencies Navigate to the client directory and install dependencies:
cd client
npm install
- 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.
- Run the Application
npm run dev
The application should now be running locally.