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 Babel for Fast Refresh
- Uses SWC for Fast Refresh
- Uses Tailwind for building custom user interfaces.
- Uses daisyUI for building web pages quickly and easily
- Uses React Router for handling routing and navigation within React applications
- Uses Firebase for backend services: auth, database, storage, hosting, functions.
- Uses React Spinners for Stylish Spinners
- Uses React-Toastify for displays customizable toast notifications easily
- Uses Swiper for creating modern, touch-friendly sliders and carousels efficiently
- Uses lottie-react for renders lightweight, interactive animations in React web apps.
- Uses react-simple-typewriter for animates text with typewriter effect in React apps.
- Uses react-countup for animates numbers counting up in React user interfaces.
- Uses React Slick for creating responsive, customizable carousels and sliders
- Uses SweetAlert2 for creating beautiful, customizable, and responsive alert popups in web applications easily.
- Uses react-tooltip for adding customizable, accessible, and interactive tooltips to React components and elements.
- Uses React Slick for creating responsive, customizable carousels and sliders
- Uses Netlify for deploys, hosts websites.
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