Skip to content

🏑 - Smart Rental & Housing Solution: BasaFinder is a full-stack web application designed to provide a smart rental housing solution that seamlessly connects landlords and tenants while being managed by an admin .

Notifications You must be signed in to change notification settings

Rakesh01999/BasaFinder-client

Repository files navigation

BasaFinder - Smart Rental & Housing Solution

Table of Contents


Project Overview

BasaFinder is a smart rental housing platform connecting landlords, tenants, and administrators. Landlords can post rental listings, tenants can search and request rentals, and an admin oversees user activities and rental listings.


Server-Side Repository


Live Demo

Admin Credentials

Email

Password

  • Adminvai1!

Features

Roles

  • Admin: Manages users and rental listings.
  • Landlord: Posts and manages rental listings, approves/rejects rental requests.
  • Tenant: Searches for rental properties and submits rental requests.

Core Functionalities

  • Rental Listings: Landlords can post detailed rental listings.
  • Search & Filter: Tenants can filter properties by location, price, and bedrooms.
  • Rental Requests: Tenants submit rental requests; landlords approve/reject them.
  • Payments: Payments enabled upon approval of rental requests.
  • Role-Based Dashboards: Custom dashboards for Admin, Landlords, and Tenants.
  • Email Notifications: Automatic updates on rental requests.

Technology Stack

Frontend

  • Next.js
  • TypeScript
  • React.js
  • ShadCN UI
  • Redux Toolkit

Backend

  • Node.js with Express.js
  • MongoDB
  • JWT Authentication
  • bcrypt Password Hashing

Deployment

  • Frontend: Vercel
  • Backend: Vercel

Installation & Setup

Prerequisites

  • Node.js installed
  • MongoDB setup
  • Environment variables configured

Backend Setup

cd backend
npm install
npm start

Frontend Setup

cd frontend
npm install
npm run dev

Project Structure

πŸ“‚ BasaFinder
 β”œβ”€β”€ πŸ“‚ backend
 β”‚   β”œβ”€β”€ πŸ“‚ models
 β”‚   β”œβ”€β”€ πŸ“‚ routes
 β”‚   β”œβ”€β”€ πŸ“‚ controllers
 β”‚   β”œβ”€β”€ πŸ“‚ middleware
 β”‚   β”œβ”€β”€ server.js
 β”‚   └── .env
 β”œβ”€β”€ πŸ“‚ frontend
 β”‚   β”œβ”€β”€ πŸ“‚ components
 β”‚   β”œβ”€β”€ πŸ“‚ pages
 β”‚   β”œβ”€β”€ πŸ“‚ styles
 β”‚   β”œβ”€β”€ πŸ“‚ redux
 β”‚   β”œβ”€β”€ next.config.js
 β”‚   └── package.json

User Roles & Access Control

Admin

  • Manages users and rental listings
  • Can approve/reject listings

Landlord

  • Posts and manages rental listings
  • Approves/rejects rental requests

Tenant

  • Searches and requests rental listings
  • Makes payments upon approval

Security Measures

  • JWT Authentication: Secure API access
  • Bcrypt Hashing: Password protection
  • Role-Based Access Control: Secure dashboards and API endpoints
  • Environment Variables: Secure sensitive data

Deployment

  1. Frontend
    • Deployed to Vercel
    • Updated .env with API URL
  2. Backend
    • Deployed to Vercel
    • Configured database connection

Contributors

  • Rakesh Biswas - Full Stack Developer

About

🏑 - Smart Rental & Housing Solution: BasaFinder is a full-stack web application designed to provide a smart rental housing solution that seamlessly connects landlords and tenants while being managed by an admin .

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages