π¬π§ English Β· π·πΊ Π ΡΡΡΠΊΠΈΠΉ Β· πΉπ ΰΈ ΰΈ²ΰΈ©ΰΈ²ΰΉΰΈΰΈ’
πΉπ Farang Marketplace
Premium multilingual marketplace platform for Thailand β real estate, vehicles, services and more.
Overview
Farang Marketplace is a microservices monorepo connecting Thai locals, expats, and tourists on a single bilingual platform. It ships with an integrated CRM, Telegram Mini App, TON blockchain payments, and PromptPay support out of the box.
- Universal listings β real estate, vehicles, equipment, services, jobs, events
- Bilingual-first β English + Thai (ΰΉΰΈΰΈ’) as primary languages; Russian, Chinese, Arabic also supported
- Integrated CRM β multi-channel inbox: Email Β· Telegram Β· WhatsApp with automated follow-ups
- Telegram Mini App β browse and transact without leaving Telegram
- Thai payments β PromptPay, local bank transfers, TON blockchain, Stripe
- Premium positioning β international design standards trusted by both locals and expats
Architecture
farang-marketplace/
βββ apps/
β βββ web/ # React + Vite β main storefront
β βββ admin/ # React + Vite β admin panel
β βββ ton-app/ # TON wallet mini app
βββ services/
β βββ api-gateway/ # Main entry point β routing & auth
β βββ user-service/ # Registration, profiles, JWT auth :3001
β βββ listing-service/ # Listings CRUD, search, categories :3003
β βββ booking-service/ # Reservations & availability :3004
β βββ payment-service/ # TON Β· Stripe Β· PromptPay + BullMQ :3009
β βββ crm-service/ # Leads, inbox, automated follow-ups :3007
β βββ storage-service/ # MinIO S3 file uploads :3008
β βββ agency-service/ # Agency accounts & listings :3005
βββ packages/
βββ shared-types/ # Shared TypeScript interfaces
βββ database-schema/ # Drizzle ORM schemas
βββ logger/ # Pino structured logging
βββ i18n/ # i18next translations
Tech Stack
| Category | Technology |
|---|---|
| Runtime | Bun 1.3+ |
| Frontend | React 19 + Vite 8 |
| Backend | Fastify microservices |
| Language | TypeScript 6 |
| Database | PostgreSQL + Drizzle ORM |
| Cache / Queues | Redis + BullMQ |
| File storage | MinIO (S3-compatible) |
| Payments | TON blockchain Β· Stripe Β· PromptPay |
| Messaging | Telegram Bot API Β· WhatsApp Business API Β· Nodemailer |
| Monorepo | Turborepo |
| Linting | Biome |
| Testing | Vitest |
| i18n | i18next (EN Β· TH Β· RU Β· ZH Β· AR) |
Quick Start
Prerequisites
Installation
git clone [email protected]:chatman-media/farang-marketplace.git
cd farang-marketplace
bun install
Start infrastructure
# Stop any local PostgreSQL to avoid port conflicts
brew services stop postgresql@14 # macOS
# Launch PostgreSQL + Redis + MinIO
docker-compose up -d
Run all services
bun run dev:ui
| Service | URL |
|---|---|
| Web app | http://localhost:5173 |
| Admin panel | http://localhost:5174 |
| API Gateway | http://localhost:3000 |
| User Service | http://localhost:3001 |
| Listing Service | http://localhost:3003 |
| Booking Service | http://localhost:3004 |
| CRM Service | http://localhost:3007 |
| Storage Service | http://localhost:3008 |
| Payment Service | http://localhost:3009 |
Environment variables
Copy .env.example to .env in each service directory and fill in your credentials. All .env.test files are pre-configured for Docker Compose.
Available Scripts
| Command | Description |
|---|---|
bun run dev |
Start all services in development mode |
bun run dev:ui |
Start all services with Turborepo TUI panel |
bun run build |
Build all apps and services for production |
bun run test |
Run tests across all packages |
bun run test:coverage |
Run tests with coverage report |
bun run lint |
Lint all code with Biome |
bun run lint:fix |
Auto-fix linting issues |
bun run type-check |
TypeScript type checking |
bun run docker:up |
Start Docker infrastructure |
bun run docker:down |
Stop Docker infrastructure |
Roadmap
Phase 1 β Foundation
- [x] Monorepo with Turborepo
- [x] Microservices: user, listing, booking, payment, CRM, storage, agency
- [x] API Gateway with JWT auth
- [x] PostgreSQL + Drizzle ORM
- [x] MinIO file storage
- [x] Redis + BullMQ job queues
- [x] Multi-language i18n (EN Β· TH Β· RU Β· ZH Β· AR)
- [x] CI/CD with GitHub Actions
- [x] Test coverage with Codecov
Phase 2 β Product
- [ ] Web storefront (React + Vite)
- [ ] Admin panel
- [ ] Telegram Bot notifications
- [ ] Telegram Mini App
- [ ] TON blockchain payments
- [ ] PromptPay & Thai bank transfers
- [ ] Stripe integration
- [ ] CRM multi-channel inbox (Email Β· Telegram Β· WhatsApp)
- [ ] Automated lead follow-ups
Phase 3 β Growth
- [ ] Mobile app (PWA / React Native)
- [ ] AI-powered search & recommendations
- [ ] Agency portal
- [ ] Analytics dashboard
- [ ] Multi-region deployment
- [ ] Public API + marketplace SDK
License
MIT Β© 2025 Chatman Media