CribConcierge is an advanced AI-powered real estate platform that revolutionizes property exploration through immersive virtual reality tours, intelligent chat assistance, and seamless property management. Built with modern web technologies, it provides an unparalleled property browsing experience.
- Comprehensive Property Listings: Detailed property information with pricing, amenities, and descriptions
- Advanced Image Storage: MongoDB GridFS integration for efficient image handling and retrieval
- Property Search & Filtering: Advanced filtering capabilities for property discovery
- Property Dashboard: Clean, responsive interface for managing and viewing properties
- 360ยฐ Virtual Reality Tours: Built with A-Frame for immersive property exploration
- Room-by-Room Navigation: Seamless transitions between Kitchen, Bedroom, Bathroom, and Living Room
- Interactive Controls: Click-based and keyboard navigation with smooth transitions
- Real Photo Integration: Supports both regular photos and 360ยฐ panoramic images
- Accessible URLs: Direct access via
/tour/:propertyIdfor easy sharing
- RAG (Retrieval-Augmented Generation): Powered by LangChain with FAISS vector store
- Google Gemini 2.0 Flash: Advanced natural language understanding and generation
- Context-Aware Responses: Conversational memory for intelligent follow-up questions
- Interactive Property Cards: AI responses include interactive property recommendations
- Smart System Prompts: Specialized for real estate domain expertise
- Speech Recognition: Browser-based voice commands for hands-free navigation
- VR Tour Voice Control: Navigate rooms using natural language ("go to kitchen", "describe this room")
- Text-to-Speech: Voice responses for enhanced accessibility
- Command Suggestions: Built-in help system with voice command examples
Framework: React 18 + TypeScript + Vite
UI Library: Radix UI + Tailwind CSS + shadcn/ui
VR Engine: A-Frame for 360ยฐ immersive tours
State Mgmt: React Query (TanStack Query) + React Hooks
Routing: React Router v6
Voice: Web Speech API + SpeechSynthesis
Icons: Lucide React
Framework: Flask (Python 3.8+)
Database: MongoDB + GridFS (image storage)
AI/ML Stack:
- LangChain (RAG pipeline)
- Google Gemini 2.0 Flash (LLM)
- HuggingFace Embeddings (sentence-transformers/all-MiniLM-L6-v2)
- FAISS Vector Store (similarity search)
Image Service: Pillow + GridFS integration
APIs: RESTful endpoints with CORS support
Package Mgmt: npm (frontend) + pip (backend)
Development: Vite dev server + Flask debug mode
Linting: ESLint + TypeScript
Environment: PowerShell automation scripts
- Python 3.8+ with pip
- Node.js 16+ with npm
- MongoDB (local installation or cloud)
- Google API Key (for Gemini AI)
git clone <repository-url>
cd CribConciergeCreate .env file in backend/ directory:
GEMINI_API_KEY="your-google-gemini-api-key"
MONGODB_URI="mongodb://localhost:27017/imageupload"Windows (PowerShell):
cd scripts
.\start-dev.ps1Manual Start:
# Backend (Terminal 1)
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python app_integrated.py
# Frontend (Terminal 2)
cd frontend
npm install
npm run dev- Frontend: http://localhost:8080
- Backend API: http://localhost:5090
- VR Tours: http://localhost:8080/tour/:propertyId
- Room Mapping Architecture:
roomPhotoId โ Bedroom drawingRoomPhotoId โ Living Room kitchenPhotoId โ Kitchen bathroomPhotoId โ Bathroom - A-Frame Integration: Custom components for scene management and transitions
- Image Loading: Progressive loading with error handling and fallbacks
- Voice Navigation: Natural language commands integrated with VR controls
- RAG Pipeline:
Property Data โ Embeddings โ Vector Search โ LLM Response - Memory Management: Conversation buffer for context-aware interactions
- Enhanced Responses: Includes interactive property cards and VR tour promotions
- Fallback Handling: Database-only responses when RAG system is unavailable
{
"_id": "ObjectId",
"propertyName": "string",
"propertyAddress": "string",
"propertyCostRange": "string",
"bedrooms": "number",
"bathrooms": "number",
"area": "string",
"features": ["array"],
"description": "string",
"roomPhotoId": "string",
"bathroomPhotoId": "string",
"drawingRoomPhotoId": "string",
"kitchenPhotoId": "string",
"created_at": "datetime",
"updated_at": "datetime"
}CribConcierge/
โโโ ๐ backend/ # Flask API server
โ โโโ app_integrated.py # Main application (AI + Image service)
โ โโโ image_service.py # GridFS image handling
โ โโโ SYSTEM_PROMPT.PY # AI system prompts
โ โโโ requirements.txt # Python dependencies
โ โโโ .env # Environment variables
โโโ ๐ frontend/ # React + TypeScript UI
โ โโโ src/
โ โ โโโ components/ # React components
โ โ โ โโโ tour/ # VR tour components
โ โ โ โโโ voice/ # Voice assistant
โ โ โ โโโ ui/ # shadcn/ui components
โ โ โโโ hooks/ # Custom React hooks
โ โ โโโ pages/ # Route components
โ โ โโโ types/ # TypeScript definitions
โ โ โโโ utils/ # Utility functions
โ โโโ package.json
โ โโโ vite.config.ts
โโโ ๐ scripts/ # Development automation
โ โโโ start-dev.ps1 # Windows startup script
โโโ ๐ docs/ # Documentation
โโโ ๐ archive/ # Legacy code archive
โโโ README.md # Project documentation
POST /api/addListing # Add new property
GET /api/getListings # Get all properties
GET /api/getProperty/:id # Get specific property
GET /api/askIt?question=... # AI-powered Q&A with RAG
POST /api/rebuildRAG # Rebuild vector knowledge base
GET /api/ragStatus # Check RAG system status
POST /api/upload # Upload property images
POST /api/images/upload # Alternative upload endpoint
GET /api/images/:id # Retrieve images by ID
- Navigate to Add Listing page
- Fill property details (name, address, price, etc.)
- Upload room photos (Kitchen, Bedroom, Bathroom, Living Room)
- Submit to create property with VR tour capability
- Click "3D Tour" button on any property card
- Use mouse/touch to look around 360ยฐ
- Click room buttons to navigate between spaces
- Use voice commands: "go to kitchen", "describe this room"
- Keyboard navigation: WASD keys for movement
- Type questions in the chat interface
- Ask about properties: "Show me 3-bedroom houses"
- Get recommendations: "What properties have VR tours?"
- Property details: "Tell me about the latest listing"
- โ Complete property management system
- โ MongoDB integration with GridFS storage
- โ A-Frame VR tour implementation
- โ AI chat assistant with RAG (LangChain + Gemini)
- โ Voice assistant integration in VR tours
- โ Interactive property cards in AI responses
- โ Responsive UI with shadcn/ui components
- โ Development automation scripts
- ๐ Advanced voice navigation improvements
- ๐ Enhanced VR tour features (hotspots, annotations)
- ๐ Property comparison tools
- ๐ Immersive Experience: 360ยฐ VR tours provide realistic property viewing
- ๐ง AI Intelligence: Smart recommendations and conversational property search
- ๐ค Voice Interaction: Hands-free property exploration and navigation
- ๐ฑ Modern UX: Responsive design with smooth animations and transitions
- โก Performance: Optimized image loading and efficient data management
- ๐ Integration Ready: RESTful APIs for easy third-party integrations
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.