In this Web App, you can find a room or an apartment for your stay.
- Please Visit roomies !
-
🔐 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.
- 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.
Follow the steps below to set up the B2Bridge application locally:
git clone https://github.com/Arman3747/roomies-client.git
git clone https://github.com/Arman3747/roomies-server.gitcd roomies-client
npm installCreate 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_idThen start the client:
npm run devcd roomies-server
npm installCreate 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_passwordThen start the server:
nodemon index.js