A Malaysian property listing and search platform built with React, FastAPI, and Ollama-powered AI chatbot.
| Tool | Version | Purpose |
|---|---|---|
| Node.js | 18+ | Frontend runtime |
| npm | 9+ | Package manager |
| Python | 3.10+ | Backend API |
| pip | latest | Python packages |
| Ollama | latest | AI chatbot (optional) |
git clone https://github.com/Jhaur/Property-Platform.git
cd Property-Platformcd frontend
npm install
npm run devThe frontend runs at http://localhost:5173
Open a new terminal:
cd backend
pip install fastapi uvicorn httpx
uvicorn server:app --reload --port 8000The API runs at http://localhost:8000
The chatbot works in fallback mode (quick replies) without Ollama. To enable AI-powered responses:
# Install Ollama from https://ollama.com
ollama serveIn another terminal, pull the model:
ollama pull llama3.2:3bOllama runs at http://localhost:11434
| Role | Password | |
|---|---|---|
| Admin | admin@propview.my | admin123 |
| Agent | benson@propview.my | agent123 |
| Buyer | buyer@propview.my | buyer123 |
Property-Platform/
├── frontend/ # React + Vite + Tailwind CSS
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Route pages
│ │ ├── share/ # Context providers, API helpers
│ │ └── data/ # Mock data
│ └── public/
├── backend/ # FastAPI server
│ ├── server.py # API endpoints
│ └── share/
│ └── prompts.py # Role-based chatbot prompts
├── storage/ # Property images
└── database/ # Database docs (future)
- Frontend: React 19, Vite, Tailwind CSS, Framer Motion, Leaflet (maps)
- Backend: FastAPI, Uvicorn
- AI Chatbot: Ollama with llama3.2:3b model
- Maps: Leaflet + OpenStreetMap (free, no API key needed)
Open 3 terminal windows:
# Terminal 1 — Frontend
cd frontend && npm run dev
# Terminal 2 — Backend API
cd backend && uvicorn server:app --reload --port 8000
# Terminal 3 — Ollama (optional)
ollama serveThen open http://localhost:5173 in your browser.