A luxury real estate website built with React, Node.js, and SQLite.
- 🏠 Property Listings with advanced filtering
- 🤖 AI Chatbot with CRM lead capture
- 📊 Google Sheets CRM Integration
- 🌍 Multi-language Support (English/Arabic with RTL)
- 📱 Responsive Design
- 🧮 Mortgage Calculator
- 📍 Google Maps Integration
cd client
npm install
npm run devcd server
npm install
node index.jsThe website will be available at:
- Frontend: http://localhost:5174/
- Backend API: http://localhost:5001/
To enable Google Sheets integration for leads:
-
Create a Google Cloud Project:
- Go to Google Cloud Console
- Create a new project
-
Enable APIs:
- Enable Google Sheets API
- Enable Google Drive API
-
Create Service Account:
- Go to IAM & Admin > Service Accounts
- Create a new service account with "Editor" role
- Generate a new JSON key
-
Download Credentials:
- Save the JSON file as
credentials.jsonin theserver/folder
- Save the JSON file as
-
Create Google Sheet:
- Create a new Google Sheet
- Copy the spreadsheet ID from the URL (between
/d/and/edit) - Share the sheet with your service account email (found in credentials.json)
-
Configure Environment:
cd server cp .env.example .env # if exists # Edit .env and add: GOOGLE_SHEET_ID=your_spreadsheet_id_here
-
Run Setup Script:
node setup-google-sheets.js
The website supports English and Arabic with full RTL layout:
- Click the globe icon in the navbar to switch languages
- Language preference is saved in localStorage
- Frontend: React, Vite, Framer Motion
- Backend: Node.js, Express, SQLite
- AI: Mistral API for chatbot
MIT