Skip to content

AdibSadman192/rent_house_bd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏠 Rent_House_BD

Create Release

Free Website Counter

πŸ–ΌοΈ Project Previews

Landing Page

Landing Preview

Note: The platform features a modern, responsive design with glass-morphism UI elements

🌟 Overview

A modern social media platform and service for house rentals in Bangladesh, connecting tenants with property owners through a community-driven approach.

🎯 Purpose

The platform serves as both a social network and rental service, making it easier for people in Bangladesh to find and list rental properties while building trusted connections within local communities.

πŸ‘₯ Key User Types

  • πŸ‘€ Regular Users (Tenants)
  • 🏘️ Property Owners
  • πŸ‘¨β€πŸŽ“ Bachelors
  • πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Families
  • πŸŽ“ Students
  • πŸ‘¨β€πŸ’Ό Administrators

✨ Features

🀝 Social & Community Features

  • πŸ’¬ Real-time chat between users
  • ⭐ Community reviews and ratings
  • πŸ”„ Social sharing capabilities
  • πŸ‘₯ User profiles and reputation system
  • πŸ“ Area-based community groups
  • πŸ€– AI-powered chatbot support

🏑 Rental Services

  • πŸ“ Property listing and management
  • πŸ” Advanced property search with filters
  • πŸ“… Booking management system
  • πŸ“„ Document verification
  • πŸ’³ Payment processing
  • πŸ“Š Property availability tracking

🎯 Specialized Categories

  • 🏒 Apartments
  • 🏠 Houses
  • πŸŽ“ Student hostels
  • πŸ‘₯ Mess accommodations
  • πŸ”„ Sublet options
  • πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Family units
  • πŸ‘¨β€πŸŽ“ Bachelor accommodations

πŸ”’ Security Features

  • πŸ” JWT Authentication
  • πŸ”‘ Password Hashing
  • πŸ›‘οΈ CORS Protection
  • πŸ”’ HTTP Security Headers
  • 🚫 Rate Limiting
  • 🧹 XSS Prevention
  • πŸ” Input Validation
  • πŸ“ Activity Logging

πŸ—ΊοΈ Project Roadmap

Phase 1: Foundation (Current)

  • Project setup and architecture
  • Basic UI components with glass-morphism design
  • Authentication system
  • Property listing core features
  • Search and filter functionality

Phase 2: Enhanced Features (Q1 2025)

  • Advanced property search with map integration
  • Real-time chat between users and property owners
  • Virtual tour integration
  • Review and rating system
  • Payment integration

Phase 3: Advanced Features (Q2 2025)

  • AI-powered property recommendations
  • Automated rental agreement generation
  • Mobile app development
  • Analytics dashboard for property owners
  • Multi-language support

Phase 4: Scaling & Optimization (Q3 2025)

  • Performance optimization
  • SEO enhancement
  • Advanced analytics
  • Market analysis tools
  • API marketplace for third-party integrations

πŸ› οΈ Development

Tech Stack

Backend

  • βš™οΈ Runtime: Node.js (v18+)
  • πŸš€ Framework: Express.js (v4.18.2)
  • πŸ“¦ Database: MongoDB (v7.5.0)
  • πŸ”„ ODM: Mongoose (v7.5.0)
  • πŸ”Œ Real-time: Socket.IO (v4.7.2)
  • πŸ” Authentication: JWT (v9.0.2)
  • ☁️ Storage: AWS S3
  • πŸ€– AI: Dialogflow (v4.7.0)
  • πŸ“ Logging: Morgan
  • πŸ›‘οΈ Security: Helmet, XSS-Clean, Express-Rate-Limit

Frontend

  • βš›οΈ Framework: Next.js 13 (React 18)
  • 🎨 UI Library: Material-UI (v5.15.10)
  • πŸ“ Forms: Formik (v2.4.5)
  • πŸ—ΊοΈ Maps: Leaflet (v1.9.4)
  • πŸ“Š Charts: Recharts (v2.8.0)
  • ✨ Icons: Material Icons
  • πŸ”„ State Management: React Context
  • πŸ“‘ HTTP Client: Axios
  • 🎭 Form Validation: Yup

πŸ“ Project Structure

rent_house_bd/
β”œβ”€β”€ backend/                 # Backend server application
β”‚   β”œβ”€β”€ config/             # Configuration files
β”‚   β”‚   β”œβ”€β”€ database.js     # Database configuration
β”‚   β”‚   β”œβ”€β”€ dialogflow.js   # Chatbot configuration
β”‚   β”‚   └── swagger.js      # API documentation
β”‚   β”œβ”€β”€ controllers/        # Request handlers
β”‚   β”‚   β”œβ”€β”€ authController.js
β”‚   β”‚   β”œβ”€β”€ propertyController.js
β”‚   β”‚   β”œβ”€β”€ bookingController.js
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ middleware/         # Express middleware
β”‚   β”‚   β”œβ”€β”€ auth.js         # Authentication middleware
β”‚   β”‚   β”œβ”€β”€ errorHandler.js # Error handling
β”‚   β”‚   └── upload.js       # File upload handling
β”‚   β”œβ”€β”€ models/            # Database models
β”‚   β”‚   β”œβ”€β”€ User.js
β”‚   β”‚   β”œβ”€β”€ Property.js
β”‚   β”‚   β”œβ”€β”€ Booking.js
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ routes/            # API routes
β”‚   β”‚   β”œβ”€β”€ auth.js
β”‚   β”‚   β”œβ”€β”€ properties.js
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ services/          # Business logic
β”‚   └── utils/             # Helper functions
β”‚
β”œβ”€β”€ frontend/              # Next.js frontend application
β”‚   β”œβ”€β”€ components/        # Reusable React components
β”‚   β”‚   β”œβ”€β”€ common/        # Shared components
β”‚   β”‚   β”œβ”€β”€ dashboard/     # Dashboard components
β”‚   β”‚   └── property/      # Property-related components
β”‚   β”œβ”€β”€ contexts/          # React context providers
β”‚   β”œβ”€β”€ hooks/             # Custom React hooks
β”‚   β”œβ”€β”€ lib/              # Utility libraries
β”‚   β”œβ”€β”€ pages/            # Next.js pages
β”‚   β”‚   β”œβ”€β”€ api/          # API routes
β”‚   β”‚   β”œβ”€β”€ auth/         # Authentication pages
β”‚   β”‚   β”œβ”€β”€ dashboard/    # Dashboard pages
β”‚   β”‚   └── properties/   # Property pages
β”‚   β”œβ”€β”€ public/           # Static files
β”‚   β”‚   β”œβ”€β”€ images/
β”‚   β”‚   └── icons/
β”‚   └── styles/           # CSS and styling files
β”‚
β”œβ”€β”€ docs/                 # Documentation files
└── preview/             # Project preview images

Prerequisites

  • Node.js 18 or higher
  • MongoDB 7.x
  • npm or yarn
  • Git

Getting Started

  1. Clone the repository:
git clone https://github.com/AdibSadman192/rent_house_bd.git
cd rent_house_bd
  1. Install dependencies:
# Install backend dependencies
cd backend
npm install

# Install frontend dependencies
cd ../frontend
npm install
  1. Set up environment variables:
# Backend (.env)
PORT=5000
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
AWS_ACCESS_KEY=your_aws_access_key
AWS_SECRET_KEY=your_aws_secret_key
S3_BUCKET_NAME=your_s3_bucket_name

# Frontend (.env.local)
NEXT_PUBLIC_API_URL=http://localhost:5000/api
NEXT_PUBLIC_SOCKET_URL=http://localhost:5000
  1. Start the development servers:
# Start backend server
cd backend
npm run dev

# Start frontend server
cd ../frontend
npm run dev

The application will be available at:

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.