10000 GitHub - AAYUSH412/Real-Estate-Website: A full-featured MERN stack house rental website with user authentication, property listings, CRUD operations, and image management.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A full-featured MERN stack house rental website with user authentication, property listings, CRUD operations, and image management.

License

Notifications You must be signed in to change notification settings

AAYUSH412/Real-Estate-Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

66 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BuildEstate Logo

Premium Real Estate Platform with AI-Powered Insights

React Node.js MongoDB TailwindCSS Framer Motion

Live Demo Installation Guide Report Bug Contribute

BuildEstate Demo

✨ Key Features

🏠 User Experience

  • Advanced property search with multiple filters
  • Virtual property tours with image galleries
  • Secure user authentication system
  • Interactive appointment scheduling
  • Favorites system with smart lists
  • Fully responsive across all devices
User Experience

πŸ€– AI-Powered Analysis

  • Smart property recommendations engine
  • Real-time market trend analysis
  • Investment insights with ROI predictions
  • Property valuation and comparison tools
  • Location-based appreciation forecasts
  • Dynamic visualization of property data
AI Analysis

πŸ‘©β€πŸ’Ό Admin Dashboard

  • Comprehensive analytics and reporting
  • Property management with bulk operations
  • Appointment tracking and management
  • User activity monitoring
  • Content management system
  • Sales performance metrics
Admin Dashboard

🎭 Interactive Animations


BuildEstate features expertly crafted animations that enhance the user experience:

  • Page Transitions: Smooth fade and slide transitions between routes
  • UI Micro-interactions: Subtle feedback animations for all user actions
  • Content Reveal: Staggered animations for list items and content sections
  • Data Visualization: Progressive chart animations with interactive tooltips
  • Image Galleries: Fluid carousels with zoom capabilities
  • Loading States: Attractive loading skeletons and transitions

All animations are performance-optimized using Framer Motion's best practices for smooth experiences on all devices.

πŸ› οΈ Technology Stack

Frontend

React 18 TailwindCSS Framer Motion React Router Axios Context API

Backend

Node.js Express MongoDB JWT Nodemailer

AI Services

Azure AI Firebase OpenAI HuggingFace

DevOps & Deployment

Docker Vercel GitHubActions

πŸ“‹ Project Overview

BuildEstate is a modern real estate platform that combines traditional property listing features with cutting-edge AI technology. The platform helps users find their ideal properties while providing valuable investment insights through machine learning algorithms.

The application consists of three main parts:

  • Frontend: User-facing website with property listings and AI analysis tools
  • Admin Dashboard: Comprehensive management interface for properties and users
  • Backend API: Robust Express server with AI-powered data processing

Key differentiators include AI-powered property recommendations, real-time market analysis, and investment opportunity identification, all presented with fluid animations for an exceptional user experience.

πŸš€ Getting Started

System Requirements

  • Node.js: v16.0.0 or higher
  • npm or yarn: Latest stable version
  • MongoDB: v4.4 or higher (local or Atlas)
  • API Keys: Azure AI, FirecrawlJS, OpenAI (optional)
  • Storage: At least 500MB free disk space

βš™οΈ Installation

Step 1: Clone the repository
git clone https://github.com/AAYUSH412/Real-Estate-Website.git
cd Real-Estate-Website
Step 2: Environment configuration

Create the following environment files with these required variables:

Backend (.env)

PORT=4000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
EMAIL=your_email_for_notifications
PASSWORD=your_email_password
AZURE_API_KEY=your_azure_ai_key
FIRECRAWL_API_KEY=your_firecrawl_api_key
NODE_ENV=development
IMAGEKIT_PUBLIC_KEY=your_imagekit_public_key
IMAGEKIT_PRIVATE_KEY=your_imagekit_private_key
IMAGEKIT_URL_ENDPOINT=your_imagekit_url

Frontend (.env.local)

VITE_API_BASE_URL=http://localhost:4000

Admin (.env.local)

VITE_BACKEND_URL=http://localhost:4000

πŸ’‘ Note: For testing without AI services, you can set dummy API keys. The core functionality will work, but AI features will return mock data.

Step 3: Install dependencies
# Install all dependencies with a single command
npm run setup

# Or install each package separately
cd backend && npm install
cd ../frontend && npm install
cd ../admin && npm install
Step 4: Start development servers
# Start all services concurrently
npm run dev

# Or start each service separately
cd backend && npm run dev
cd frontend && npm run dev
cd admin && npm run dev

This will launch:

Step 5: Docker deployment (optional)

For containerized deployment:

# Build and start all containers
docker-compose up --build

# Or run just the backend
docker-compose up backend

Default ports will be mapped to host machine:

πŸ’Ύ Database setup

The application will automatically set up the MongoDB collections on first run.

For local development with sample data:

# Import sample data (from project root)
cd backend
npm run seed

This will populate your database with sample properties, users, and appointments.

πŸ”‘ Default admin credentials

After running the seed script, you can log in to the admin panel with:

🧩 Application Structure

project/
β”œβ”€β”€ admin/                 # Admin dashboard React app
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ contexts/      # Auth and data contexts
β”‚   β”‚   β”œβ”€β”€ pages/         # Admin dashboard pages
β”‚   β”‚   └── services/      # API service layer
β”‚   └── public/            # Static assets
β”‚
β”œβ”€β”€ backend/               # Express server and API
β”‚   β”œβ”€β”€ config/            # Server configuration
β”‚   β”œβ”€β”€ controller/        # Request handlers
β”‚   β”œβ”€β”€ middleware/        # Express middleware
β”‚   β”œβ”€β”€ models/            # Mongoose schemas
β”‚   β”œβ”€β”€ routes/            # API routes
β”‚   β”œβ”€β”€ services/          # External service integrations
β”‚   └── utils/             # Helper utilities
β”‚
└── frontend/              # User-facing React app
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ assets/        # Images and static resources
    β”‚   β”œβ”€β”€ components/    # UI components
    β”‚   β”œβ”€β”€ context/       # Application state management
    β”‚   β”œβ”€β”€ pages/         # Page components
    β”‚   β”œβ”€β”€ services/      # API client services
    β”‚   └── utils/         # Helper utilities
    └── public/            # Static assets

πŸ“Š Feature Highlights

Properties Active Users Cities

Property Search & Discovery

BuildEstate offers a sophisticated property search system with multiple filtering options:

  • Location-based search with map integration
  • Price range filters with dynamic market comparison
  • Property type categorization (apartments, houses, villas, etc.)
  • Amenity-based filtering with 15+ property features
  • Saved search preferences for registered users

AI-Powered Market Analysis

BuildEstate

The platform provides valuable insights using multiple AI models:

  • Price trend forecasting for different neighborhoods
  • Rental yield calculations based on historical data
  • Investment opportunity scoring with ROI predictions
  • Neighborhood comparison with multiple metrics
  • Personalized property recommendations

All data visualizations feature smooth animations and interactive elements for better understanding.

User Account Management

The platform offers comprehensive user account features:

  • Secure authentication with JWT and refresh tokens
  • Profile customization with saved preferences
  • Favorite properties with smart categorization
  • Viewing appointment scheduling and management
  • Email notifications for account activities and property updates
  • Newsletter subscription for market updates (opt-in)

πŸ’Œ Newsletter Management

BuildEstate includes a newsletter system for property updates and market trends:

  • Subscription management via user profile
  • Email preference center for customizing update frequency
  • Market report delivery with AI-generated insights
  • One-click unsubscribe option in all emails
  • GDPR compliant data storage and processing

πŸ’‘ Note about privacy: All user data is stored securely and used only for the purposes explicitly stated in our privacy policy. Users can request data deletion at any time.

πŸ› οΈ Troubleshooting

Common Issues & Solutions

Connection Issues

  • MongoDB Connection Fails: Check your connection string in .env file and ensure your IP is whitelisted in MongoDB Atlas
  • API Endpoints Returning 404: Verify the VITE_API_BASE_URL in frontend and admin .env files

Authentication Problems

  • Admin Login Fails: Try resetting the admin password using the backend utility:
    cd backend
    npm run reset-admin-password
  • JWT Token Errors: Ensure the JWT_SECRET is identical on all deployment environments

Image Upload Issues

  • Images Not Uploading: Check ImageKit credentials and connectivity
  • File Size Errors: Reduce image size to under 5MB

AI Feature Limitations

  • AI Analysis Not Working: Verify API keys for Azure and FirecrawlJS
  • Empty Recommendations: The system needs at least 10 properties in database for meaningful recommendations

For additional help, open an issue with detailed error information.

πŸ–₯️ Screenshots

Home Page Property Listings
Property Details AI Analysis

πŸ† Project Activity


Contribution Snake Animation

🀝 Contributing

We welcome contributions to BuildEstate! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch:
    git checkout -b feature/amazing-feature
  3. Make your changes
  4. Run tests:
    npm run test
  5. Commit your changes:
    git commit -m 'Add some amazing feature'
  6. Push to your branch:
    git push origin feature/amazing-feature
  7. Open a pull request

Please read our Contributing Guidelines for more details.

Code Style Standards

  • We use ESLint and Prettier for code formatting
  • Component-based architecture for UI elements
  • Jest for unit testing
  • Documentation required for all new features

πŸ“ License

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

🌟 Acknowledgements

React Express MongoDB TailwindCSS Framer Motion Lucide Icons

Special thanks to all contributors and the open source community.

πŸ“§ Contact & Support

GitHub Email Report Bug

BuildEstate Logo

Built with ❀️ by Aayush Vaghela

Β© 2025 BuildEstate. All Rights Reserved.

About

A full-featured MERN stack house rental website with user authentication, property listings, CRUD operations, and image management.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0