Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

25 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Homely 🏠✨

Vite React TailwindCSS Express.js Prisma SQLite Socket.io Google Maps

A premium discovery & booking web application for student hostels, tiffin mess subscriptions, and roommate matching. Designed with modern UX, interactive maps, and student compatibility tags.


πŸš€ Key Features

1. Hostel Discovery & Bookings

  • Browse rooms, hostels, and PGs with a cinematic photo grid, reviews, pricing, and distance parameters.
  • Interactive map integration using Advanced Markers showing student-specific locations and neighborhood essentials (Libraries, Hospitals, Late-Night Food Points).
  • Real-time room booking flow with secure group/shared room invitations.

2. Tiffin Mess Discovery & Subscriptions

  • Subscriptions for Veg/Non-Veg/Both dining plans with reviews and location badges.
  • Integrated tiffin service reviews, overall ratings, and location proximity filters.

3. Roommate Required Listings πŸ‘₯

  • Confirmed Booking Gating: Verified tenants with active confirmed room bookings can publish public roommate request advertisements.
  • Compatibility Tagging: Auto-prefills and matches roommates based on habits: Study Style (Quiet, Group, Flexible), Social Vibe (Introvert, Extrovert, Balanced), Cleanliness Indexes, Smoking preferences, and Dietary choices.
  • Notice Bulletin Board: All published roommate ads are displayed on a dedicated tab on the Home page as notice cards with detail modals.
  • In-app Chat Connect: Direct linking to in-app messaging threads to instantly coordinate flatshares.

4. Interactive Profile Settings

  • Custom, tabbed profile controller to manage Personal Info (Name, College, Bio), Account Settings (Preferences, clean/diet tags), Security & Privacy (Password change, custom toggle controls for profile visibility), and Roommate Ad (publish/edit/delete roommate requests).

5. Notifications

  • Real-time updates for bookings, message requests, and landlord responses powered by Socket.io.

6. Full Dark Theme Support

  • Native styling transitions with complete visual visibility checks for all text, icons, forms, interactive map markers, and primary buttons.

πŸ› οΈ Tech Stack

Layer Technologies
Frontend React 19 (Vite SPA), Tailwind CSS v4, Lucide Icons, Google Maps React API, Framer Motion
Backend Node.js, Express.js, Socket.io
Database Prisma ORM, SQLite (prisma/dev.db for fully offline development)
Auth JWT (JSON Web Tokens), bcrypt password hashing

πŸ—‚οΈ Database Schema

erDiagram
    User ||--o{ Room : hosts
    User ||--o{ Booking : places
    User ||--o{ Message : sends
    User ||--o{ Message : receives
    User ||--o{ Review : writes
    User ||--o{ Mess : operates
    User ||--o{ MessSubscription : subscribes
    User ||--o{ MessReview : reviews
    User ||--o{ Wishlist : saves
    User ||--o{ MaintenanceRequest : reports
    User ||--o{ Notification : receives
    User ||--o{ RoommateListing : posts

    Room ||--o{ Image : has
    Room ||--o{ Booking : contains
    Room ||--o{ Review : rated_by
    Room }o--o{ Mess : nearby
    Room ||--o{ Wishlist : saved_in
    Room ||--o{ MaintenanceRequest : reported_on
    Room ||--o{ RoommateListing : attached_to

    Booking ||--o{ GroupMember : includes
    Booking ||--o| RoommateListing : qualifies

    Mess ||--o{ MessImage : has
    Mess ||--o{ MessReview : rated_by
    Mess ||--o{ MessSubscription : subscribed_via
    Mess ||--o{ Wishlist : saved_in
Loading

πŸ“‚ Project Structure

β”œβ”€β”€ client/                 # React Frontend (Vite)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable UI (RoomCard, MessCard, Map, Layout)
β”‚   β”‚   β”œβ”€β”€ context/       # AuthContext, ThemeContext
β”‚   β”‚   └── pages/         # Home, Auth, Profile, Details
β”‚   └── package.json
└── server/                 # Express Backend
    β”œβ”€β”€ prisma/             # Schema configuration, migrations, seed scripts
    β”œβ”€β”€ routes/             # REST API routers (auth, rooms, messes, roommates, etc.)
    β”œβ”€β”€ server.js           # Server initialization and Socket.io setups
    └── package.json

βš™οΈ Quick Start Setup

Follow these steps to run the application completely offline:

Prerequisites

Make sure you have Node.js (v18+) and npm installed.

1. Clone the Repository

git clone https://github.com/adwaitumredkar1818/Homely.git
cd Homely

2. Setup the Backend Server

# Navigate to the server folder
cd server

# Install dependencies
npm install

# Run database schema push & generate client
npx prisma db push

# Seed the database with sample listings, user credentials, and active requests
node prisma/seed.js

# Start the local API server
node server

3. Setup the Frontend Client

# Navigate to client folder in a new terminal window
cd client

# Install dependencies
npm install

# Start the Vite development server
npm run dev

The client will be running locally at http://localhost:5173.


πŸ”‘ Test Credentials

Use these seeded accounts to log in and inspect the features:

Account Type Email Password Role Features
Student Tenant tenant@test.com password123 TENANT Book hostels, subscribe to messes, browse/post roommate listings
Landlord Host host@test.com password123 HOST Manage reservations, upload listings, inspect metrics

πŸ“Έ Screenshots

Note: Screenshots coming soon! Run the app locally to explore the full UI.

Feature Description
🏠 Home Page Toggle between Hostels, Messes, and the Notice Board with a premium sliding pill selector
πŸ—ΊοΈ Interactive Map Google Maps with Advanced Markers showing nearby essentials
πŸ‘₯ Notice Board Roommate notice cards with detail modals and direct chat links
βš™οΈ Profile Dashboard Tabbed settings with Personal Info, Account, Security, and Roommate Ad management
πŸŒ™ Dark Mode Full dark theme support with audited contrast across all components

πŸ“„ License

This project is for educational and portfolio purposes.


Made with ❀️ by Adwait Umredkar

About

🏠 A premium discovery & booking web application for student hostels, tiffin mess subscriptions, and roommate matching. Designed with modern UX, interactive maps, and student compatibility tags.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages