Skip to content

Roomies is a web app that helps users find and connect with potential roommates. Users can register (email or Google), post and manage room listings, browse housing options, and toggle dark/light theme. Includes FAQs, user stats, company info, and an error page for better UX.

Notifications You must be signed in to change notification settings

Arman3747/roomies-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

App Screenshot

Roommate Finder Website - (roomies)

In this Web App, you can find a room or an apartment for your stay.

Live Link

✅ key features

  • 🔐 User Authentication with Firebase
    Email/password & Google sign-in support with validation and feedback.

  • 🧍‍♂️ User Profile Display
    Shows user photo, name, and logout option on the navbar after login.

  • 📋 Add Roommate Listing
    Authenticated users can add new room listings with title, location, rent, type, lifestyle, and contact details.

  • 📂 My Listings (Protected Route)
    Users can view, update, and delete only their own roommate posts.

  • 🔎 Browse All Listings
    Public listing page shows all roommate posts with search and "See More" options.

  • ❤️ Like Functionality with Conditional Reveal
    Users can like a post to increase interest count and reveal the contact number.

  • 📊 Dashboard Analytics
    View personalized dashboard with stats like total posts, likes, interested users, and average rent.

  • 📄 Details Page with Conditional Contact Info
    Full listing details with like functionality to unlock contact information.

  • 📝 Update Post Feature
    Users can edit their existing listings with pre-filled forms.

  • 🧹 Delete Listing with Confirmation
    Users can safely delete their posts with a confirmation popup.

  • 🌓 Dark/Light Theme Toggle
    Switch between light and dark modes for better accessibility and comfort.

  • 🔄 Responsive Design
    Fully optimized for mobile, tablet, and desktop using Tailwind CSS and DaisyUI.

  • 🔒 Protected Routing
    Private routes for authenticated users only, with reload safety.

  • 🎨 Interactive Animations
    Uses Lottie, React Awesome Reveal, and Simple Typewriter for a smooth UX.

  • 🛠 Robust Error & Loading Handling
    Includes toast notifications, SweetAlert for feedback, loading spinners, and a custom 404 page.

npm packages in Server Side

  • Use node.js for server-side scripting and building web applications.
  • Uses express to build web applications and APIs easily with routing, middleware, and request handling.
  • Uses nodemon for automatically restarts a Node.js application when file changes are detected during development.
  • Uses cors for enabling controlled access to resources from different origins in web applications.
  • Uses dotenv environment variables from a .env file into process.env for secure configuration management.
  • Uses MongoDB for storing, querying, and managing large volumes of flexible, JSON-like data in web and mobile applications.
  • Uses MongoDB Atlas for hosting, managing, and scaling MongoDB databases in the cloud securely.
  • Uses Vercel for deploying, hosting, and scaling frontend web applications with speed, simplicity, and automation.

Technologies Used

  • Node.js
  • Express
  • Mongodb
  • .env
  • Vercel

🛠️ Installation & Setup Instructions

Follow the steps below to set up the B2Bridge application locally:


1. Clone the Repositories

git clone https://github.com/Arman3747/roomies-client.git
git clone https://github.com/Arman3747/roomies-server.git

2. Client Setup

cd roomies-client
npm install

Create a .env.local file in the root of the client folder and add the following:

VITE_apiKey=your_firebase_key
VITE_authDomain=your_auth_domain
VITE_projectId=your_project_id
VITE_storageBucket=your_storage_bucket
VITE_messagingSenderId=your_sender_id
VITE_appId=your_app_id

Then start the client:

npm run dev

3. Server Setup

cd roomies-server
npm install

Create a .env file in the root of the server folder and add the following:

roomies_DB_USER=your_mongodb_admin_username
roomies_DB_PASS=your_mongodb_admin_password

Then start the server:

nodemon index.js

Thank you for Reading!

About

Roomies is a web app that helps users find and connect with potential roommates. Users can register (email or Google), post and manage room listings, browse housing options, and toggle dark/light theme. Includes FAQs, user stats, company info, and an error page for better UX.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published