Placio is a modern real estate listing platform where property owners can post their available rentals or sale listings. Users can browse, search, and filter properties by price, type, or location. It functions as a lightweight Zillow/OLX-style platform — with integrated ratings and reviews.
| Layer | Technology | |
|---|---|---|
| Frontend | React, HTML, CSS, JavaScript, Tailwind, MUI | |
| Backend | Node.js, Express | |
| Database | MongoDB | |
| Authentication | Firebase Auth | |
| API | RESTful Architecture, Axios | |
| Version Control | Git, GitHub | |
| Alerts / UI | SweetAlert2, react-toastify |
- Create an account using Firebase Authentication
- Browse all property listings with search and filter options
- View detailed property information with images and descriptions
- Add ratings and reviews to properties
- Track personal listings and review submissions
- Add new properties for rent or sale
- Edit or delete own property listings
- JWT-secured API
- Axios interceptor for secure API communication
- Protected routes for authenticated users
- RESTful backend architecture
- Component-driven UI
- React Router for navigation
- Axios for API communication
- Firebase for authentication
- TailwindCSS and MUI for styling
- Ratings integration with
@smastrom/react-ratingandreact-rater - Alerts & notifications with SweetAlert2 and react-toastify
- REST API structure
- JWT validation middleware
- Routes for Users, Properties, and Ratings
- Error handling and route protection
UsersCollectionPropertiesCollectionRatingsCollection
git clone https://github.com/Riad-Zz/Placio
cd Placionpm install
npm run devVITE_apiKey=
VITE_authDomain=
VITE_projectId=
VITE_storageBucket=
VITE_messagingSenderId=
VITE_appId=
npm install
nodemon index.jsMONGO_URI=
JWT_SECRET=
PORT=5000
- JWT-based authentication
- Axios interceptor attaches tokens automatically
- Auto logout on 401/403 response codes
{
"@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.1",
"@fontsource/roboto": "^5.2.8",
"@mui/icons-material": "^7.3.5",
"@mui/material": "^7.3.5",
"@smastrom/react-rating": "^1.5.0",
"@tailwindcss/vite": "^4.1.17",
"@tanstack/react-query": "^5.90.7",
"axios": "^1.13.2",
"firebase": "^12.5.0",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"react-icons": "^5.5.0",
"react-loader-spinner": "^8.0.0",
"react-rater": "^6.0.5",
"react-rating": "^2.0.5",
"react-router": "^7.9.5",
"react-spinners": "^0.17.0",
"react-toastify": "^11.0.5",
"styled-components": "^6.1.19",
"sweetalert2": "^11.26.3",
"swiper": "^12.0.3",
"tailwindcss": "^4.1.17",
"typewriter-effect": "^2.22.0"
}{
"@eslint/js": "^9.36.0",
"@types/react": "^19.1.16",
"@types/react-dom": "^19.1.9",
"@vitejs/plugin-react": "^5.0.4",
"daisyui": "^5.4.7",
"eslint": "^9.36.0",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.22",
"globals": "^16.4.0",
"vite": "^7.1.7"
}- Integrated chat between buyers and sellers
- Admin dashboard with analytics
- Advanced property recommendation system
Repository: https://github.com/Riad-Zz/Placio
Backend Repository: https://github.com/Riad-Zz/Placio_Server
Live Link :https://projectplacio.netlify.app/