Fourwalls is a modular platform for real estate, property management, and AI-powered property recommendations. The project is organized into several subfolders, each with its own purpose and setup instructions.
fourwalls/
├── chat/ # AI chat agent and related services (Python)
├── embeddings/ # Image embeddings and ML models (Python)
├── marketplace/ # Web frontend (TypeScript, React, Vite)
├── migrations/ # Data migration utilities (Python)
├── notebooks/ # Jupyter notebooks for experiments
├── recommendations/# Recommendation engine (Python)
├── shared/ # Shared configuration and data
- Python 3.8+
- Node.js 18+ and npm
- Docker (optional, for containerized runs)
Each Python-based subproject (chat/, embeddings/, migrations/, recommendations/) has its own requirements.txt file.
Example setup for each Python service:
cd <service-folder>
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtReplace <service-folder> with one of: chat, embeddings, migrations, or recommendations.
The frontend is in marketplace/ and uses Vite + React + TypeScript.
cd marketplace
npm install
npm run devThis will start the development server. Visit the URL shown in the terminal (usually http://localhost:5173).
Some services include a Dockerfile. To build and run a service with Docker:
cd <service-folder>
docker build -t fourwalls-<service> .
docker run --rm -it fourwalls-<service>If you use Supabase, ensure you have the CLI and have set up your project:
cd supabase
supabase startRefer to the supabase/ folder for configuration and migrations.
Notebooks are in notebooks/. To run them:
cd notebooks/notebooks
jupyter notebookSome services may require environment variables (API keys, database URLs, etc.). Copy .env.example to .env in the relevant folder and update values as needed.
- See each subfolder's
README.mdfor more details. - For production, review Docker and deployment best practices.
- For questions, open an issue or contact the maintainer.