Note: The platform features a modern, responsive design with glass-morphism UI elements
A modern social media platform and service for house rentals in Bangladesh, connecting tenants with property owners through a community-driven approach.
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.
- 👤 Regular Users (Tenants)
- 🏘️ Property Owners
- 👨🎓 Bachelors
- 👨👩👧👦 Families
- 🎓 Students
- 👨💼 Administrators
- 💬 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
- 📝 Property listing and management
- 🔍 Advanced property search with filters
- 📅 Booking management system
- 📄 Document verification
- 💳 Payment processing
- 📊 Property availability tracking
- 🏢 Apartments
- 🏠 Houses
- 🎓 Student hostels
- 👥 Mess accommodations
- 🔄 Sublet options
- 👨👩👧👦 Family units
- 👨🎓 Bachelor accommodations
- 🔐 JWT Authentication
- 🔑 Password Hashing
- 🛡️ CORS Protection
- 🔒 HTTP Security Headers
- 🚫 Rate Limiting
- 🧹 XSS Prevention
- 🔍 Input Validation
- 📝 Activity Logging
- Project setup and architecture
- Basic UI components with glass-morphism design
- Authentication system
- Property listing core features
- Search and filter functionality
- Advanced property search with map integration
- Real-time chat between users and property owners
- Virtual tour integration
- Review and rating system
- Payment integration
- AI-powered property recommendations
- Automated rental agreement generation
- Mobile app development
- Analytics dashboard for property owners
- Multi-language support
- Performance optimization
- SEO enhancement
- Advanced analytics
- Market analysis tools
- API marketplace for third-party integrations
- ⚙️ 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
- ⚛️ 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
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
- Node.js 18 or higher
- MongoDB 7.x
- npm or yarn
- Git
- Clone the repository:
git clone https://github.com/AdibSadman192/rent_house_bd.git
cd rent_house_bd
- Install dependencies:
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm install
- 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
- 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:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
This project is licensed under the MIT License - see the LICENSE file for details.