
π€ | β‘ | π | π± |
AI-Powered | Lightning Fast | Secure | Responsive |
Smart property analysis | Vite + React 18 | JWT Authentication | Mobile-first design |
BuildEstate is a cutting-edge, full-stack real estate platform that transforms property discovery and management through AI-powered insights, seamless user experience, and comprehensive administrative tools.
|
|
graph TB
subgraph "π Frontend Layer"
A[User Portal<br/>React 18 + Vite<br/>Port: 5173]
B[Admin Dashboard<br/>React 18 + Chart.js<br/>Port: 5174]
end
subgraph "βοΈ Backend Layer"
C[API Server<br/>Express.js + Node.js<br/>Port: 4000]
D[AI Services<br/>Azure AI + OpenAI]
E[Email Service<br/>Nodemailer + SMTP]
end
subgraph "πΎ Data Layer"
F[(MongoDB Atlas<br/>Database)]
G[ImageKit CDN<br/>Media Storage]
end
A --> C
B --> C
C --> D
C --> E
C --> F
C --> G
style A fill:#61DAFB,stroke:#333,stroke-width:2px,color:#000
style B fill:#FF6B6B,stroke:#333,stroke-width:2px,color:#000
style C fill:#339933,stroke:#333,stroke-width:2px,color:#fff
style D fill:#FF9500,stroke:#333,stroke-width:2px,color:#000
style E fill:#EA4335,stroke:#333,stroke-width:2px,color:#fff
style F fill:#47A248,stroke:#333,stroke-width:2px,color:#fff
style G fill:#0066CC,stroke:#333,stroke-width:2px,color:#fff
- Node.js 16+ and npm 8+ (Download)
- MongoDB Atlas account (Free Signup)
- Git (Download)
- ImageKit account for CDN (Free Signup)
- Brevo SMTP for emails (Free Signup)
# π₯ Clone the repository
git clone https://github.com/AAYUSH412/Real-Estate-Website.git
cd Real-Estate-Website
# β‘ Install all dependencies and start development servers
npm run setup && npm run dev
π That's it! Your development environment is ready!
localhost:5173 |
localhost:5174 |
localhost:4000 |
# Backend setup
cd backend
npm install
cp .env.example .env.local
# Configure your .env.local file (see configuration section)
npm run dev
# Frontend setup (new terminal)
cd frontend
npm install
npm run dev
# Admin panel setup (new terminal)
cd admin
npm install
npm run dev
Each application requires environment configuration. Here's a quick reference:
π§ Backend (.env.local) | π Frontend (.env.local) | π¨βπΌ Admin (.env.local) |
---|---|---|
# ποΈ Database
MONGO_URI=your_mongodb_connection
# π Security
JWT_SECRET=your_jwt_secret
# π§ Email Service
SMTP_USER=your_smtp_user
SMTP_PASS=your_smtp_password
# πΌοΈ Image Storage
IMAGEKIT_PUBLIC_KEY=your_key
IMAGEKIT_PRIVATE_KEY=your_key
IMAGEKIT_URL_ENDPOINT=your_url
# π€ AI Services (Optional)
HUGGINGFACE_API_KEY=your_key
OPENROUTER_API_KEY=your_key
FIRECRAWL_API_KEY=your_key |
# π API Configuration
VITE_API_BASE_URL=http://localhost:4000
# π·οΈ App Settings
VITE_APP_NAME=BuildEstate
# π¨ Customization
VITE_THEME_COLOR=#3B82F6
VITE_BRAND_NAME=BuildEstate |
# π Backend Connection
VITE_BACKEND_URL=http://localhost:4000
# π¨βπΌ Admin Settings
VITE_ADMIN_EMAIL=admin@buildestate.com
VITE_ADMIN_NAME=BuildEstate Admin |
π Need detailed configuration? Check our Complete Setup Guide for comprehensive environment setup with examples.
React 18 β Modern component-based architecture
Vite β Lightning-fast build tool & dev server
TailwindCSS β Utility-first CSS framework
Framer Motion β Smooth animations & transitions
React Router v7 β Client-side navigation
Axios β HTTP client for API calls
React Context β Global state management
React Helmet β SEO meta tag management
React 18 β Component-based UI framework
Chart.js β Interactive data visualizations
TailwindCSS β Consistent design system
Flowbite React β UI component library
React Hot Toast β Notification system
Lucide React β Modern icon library
Framer Motion β Smooth page transitions
Node.js 18+ β JavaScript runtime environment
Express.js β Web application framework
MongoDB β NoSQL document database
Mongoose β ODM for MongoDB
JWT β JSON Web Token authentication
Bcrypt β Password hashing
Multer β File upload middleware
Nodemailer β Email delivery system
Helmet β Security headers
CORS β Cross-origin resource sharing
π₯ Development | ποΈ Building | π§Ή Maintenance | π³ Docker |
---|---|---|---|
# Start all services
npm run dev
# Individual services
npm run dev:backend
npm run dev:frontend
npm run dev:admin
# Quick setup
npm run setup |
# Build all apps
npm run build
# Individual builds
npm run build:backend
npm run build:frontend
npm run build:admin
# Production start
npm run start:prod |
# Lint all code
npm run lint
npm run lint:fix
# Clean installs
npm run clean
npm run clean:build
# Health checks
npm run health |
# Docker operations
npm run docker:build
npm run docker:up
npm run docker:down
# View logs
npm run docker:logs |
gitGraph
commit id: "Initial Setup"
branch feature/new-feature
checkout feature/new-feature
commit id: "Add Feature"
commit id: "Write Tests"
commit id: "Update Docs"
checkout main
merge feature/new-feature
commit id: "Deploy to Production"
Step-by-step process:
- π΄ Fork the repository
- πΏ Create a feature branch (
git checkout -b feature/amazing-feature
) - βοΈ Commit your changes (
git commit -m 'Add amazing feature'
) - π€ Push to the branch (
git push origin feature/amazing-feature
) - π Open a Pull Request
Commit Message Format:
type(scope): description
Examples:
feat(frontend): add property search filters
fix(backend): resolve authentication issue
docs(readme): update installation guide
Complete Setup Guide Comprehensive installation & configuration |
Admin Panel Guide Dashboard usage & management features |
API Documentation Complete API reference & testing |
Backend Documentation Architecture & deployment guide |
Platform | Frontend | Admin Panel | Backend | Database |
---|---|---|---|---|
π’ Recommended | Vercel | Vercel | Railway/Render | MongoDB Atlas |
π‘ Alternative | Netlify | Netlify | Heroku | Local MongoDB |
π³ Docker | Self-hosted with Docker Compose |
Quick Deploy Commands:
# Frontend to Vercel
cd frontend && vercel --prod
# Admin Panel to Vercel
cd admin && vercel --prod
# Backend to Railway
# Connect your GitHub repository to Railway
Backend Environment Template:
# Core Configuration
NODE_ENV=production
PORT=4000
MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/buildestate
# Authentication
JWT_SECRET=your-super-secure-jwt-secret-key-minimum-32-characters
# Email Service (Brevo)
SMTP_USER=your-email@smtp-brevo.com
SMTP_PASS=your-smtp-password
# Image Storage (ImageKit)
IMAGEKIT_PUBLIC_KEY=public_your_key_here
IMAGEKIT_PRIVATE_KEY=private_your_key_here
IMAGEKIT_URL_ENDPOINT=https://ik.imagekit.io/your_id/
# AI Services (Optional)
HUGGINGFACE_API_KEY=hf_your_key_here
OPENROUTER_API_KEY=sk-or-v1-your_key_here
We love contributions! Please see our Contributing Guidelines for details.
- π΄ Fork the repository
- π Create an issue (if one doesn't exist)
- πΏ Create your feature branch:
git checkout -b feature/amazing-feature
- βοΈ Commit your changes:
git commit -m 'feat: add amazing feature'
- π€ Push to your branch:
git push origin feature/amazing-feature
- π Submit a Pull Request
This project is licensed under the MIT License Feel free to use, modify, and distribute |
Aayush Vaghela |