WTB/WTR MVP - A simplified property request marketplace connecting property seekers with verified agents.
This is a lean startup approach inspired by WhatsApp property groups but with better organization and matching capabilities. Users post "Want To Buy" (WTB) or "Want To Rent" (WTR) requests, and agents respond with matching properties.
- Property Request Posting: Users post WTB/WTR requests with requirements
- Agent Response System: Verified agents browse and respond to requests
- Direct Messaging: Communication hub between requesters and agents
- Basic Authentication: Supabase Auth with Malaysian phone support
Strategic Decision: We use REST for mutations and GraphQL for queries.
- REST API: Simple CRUD operations, authentication, file uploads
- GraphQL: Complex data fetching, real-time subscriptions, analytics
See docs/rules/api-patterns.md
for implementation guidelines.
# Install dependencies
pnpm install
# Setup environment
cp .env.example .env.local
# Add your Supabase and other credentials
# Start development
pnpm dev
PropGo/
βββ apps/web/ # Next.js 15+ web app (primary MVP focus)
βββ apps/mobile/ # Expo SDK 53 mobile app (future phase)
βββ packages/ui/ # Shared UI components (shadcn/ui)
βββ packages/types/ # Shared TypeScript types
βββ packages/api/ # Supabase client and utilities
βββ supabase/ # Database schema and migrations
βββ docs/ # Comprehensive project documentation
- API Patterns - Hybrid REST + GraphQL guidelines
- Development Guide - Setup and development workflows
- Database Schema - Complete database documentation
- Project Rules - Development standards and guidelines
- API Reference - Complete API documentation
- Project Structure - Codebase organization
- Deployment Guide - Production deployment
- Frontend: Next.js 15+ (App Router), React 18+, TypeScript
- Styling: Tailwind CSS, shadcn/ui components
- Backend: Supabase (PostgreSQL, Auth, Realtime)
- API: Hybrid REST + GraphQL (Apollo Client)
- State: Zustand + TanStack Query
- Forms: React Hook Form + Zod validation
- Monorepo: Turborepo with pnpm workspaces
- Mobile: Expo SDK 53 with NativeWind
- AI: Claude 3.5 Sonnet integration
- Payments: Stripe for commission processing
- Localization: English/Malay support (Chinese in future)
- Compliance: Basic PDPA compliance for MVP
- Property Types: Malaysian-specific (landed, high-rise, commercial)
- Location Data: Malaysian states, cities, postcodes
- Property request posting and browsing
- Agent response system
- Basic messaging and notifications
- User authentication and profiles
- Simple payment processing
- Full B2B platform features
- Legal document generation
- Government integrations (BOVAEA, MOF)
- Advanced analytics and reporting
- Multi-language support
- Development Guide - Setup, workflows, and best practices
- Project Rules - Coding standards and guidelines
- API Patterns - Hybrid REST + GraphQL architecture
- Authentication Troubleshooting - Common auth issues and solutions
- Authentication Patterns - Auth implementation best practices
- Hybrid API Migration - REST + GraphQL decision framework
- Database Schema - Supabase schema and migrations
- Project Structure - Monorepo organization
This is a focused MVP development. Follow the documentation above for consistent implementation.
Private commercial project for PropGo.my
Current Status: MVP Development Phase
Architecture: Hybrid REST + GraphQL
Focus: WTB/WTR Property Request Marketplace