chore: update project documentation, audit reports, and initialize IDE configuration files
Some checks failed
CI / Lint → Typecheck → Test → Build (22) (push) Failing after 29s
CI / E2E Tests (push) Has been skipped
CodeQL Analysis / CodeQL (javascript-typescript) (push) Failing after 2m42s
Deploy / Build Web Image (push) Failing after 27s
Deploy / Build AI Services Image (push) Failing after 29s
E2E Tests / Playwright E2E (push) Failing after 43s
Deploy / Build API Image (push) Failing after 1m31s
Security Scanning / Dependency Audit (pnpm) (push) Failing after 6s
Security Scanning / Trivy Scan — API Image (push) Failing after 5m35s
Security Scanning / Trivy Scan — AI Services Image (push) Failing after 3m45s
Deploy / Deploy to Staging (push) Has been skipped
Deploy / Smoke Test Staging (push) Has been skipped
Deploy / Deploy to Production (push) Has been skipped
Deploy / Smoke Test Production (push) Has been skipped
Deploy / Rollback Staging (push) Has been skipped
Deploy / Rollback Production (push) Has been skipped
Security Scanning / Trivy Scan — Web Image (push) Failing after 13m51s
Security Scanning / Trivy Filesystem Scan (push) Failing after 14m46s
Security Scanning / Security Gate (push) Has been cancelled
Some checks failed
CI / Lint → Typecheck → Test → Build (22) (push) Failing after 29s
CI / E2E Tests (push) Has been skipped
CodeQL Analysis / CodeQL (javascript-typescript) (push) Failing after 2m42s
Deploy / Build Web Image (push) Failing after 27s
Deploy / Build AI Services Image (push) Failing after 29s
E2E Tests / Playwright E2E (push) Failing after 43s
Deploy / Build API Image (push) Failing after 1m31s
Security Scanning / Dependency Audit (pnpm) (push) Failing after 6s
Security Scanning / Trivy Scan — API Image (push) Failing after 5m35s
Security Scanning / Trivy Scan — AI Services Image (push) Failing after 3m45s
Deploy / Deploy to Staging (push) Has been skipped
Deploy / Smoke Test Staging (push) Has been skipped
Deploy / Deploy to Production (push) Has been skipped
Deploy / Smoke Test Production (push) Has been skipped
Deploy / Rollback Staging (push) Has been skipped
Deploy / Rollback Production (push) Has been skipped
Security Scanning / Trivy Scan — Web Image (push) Failing after 13m51s
Security Scanning / Trivy Filesystem Scan (push) Failing after 14m46s
Security Scanning / Security Gate (push) Has been cancelled
This commit is contained in:
106
README.md
106
README.md
@@ -1,23 +1,23 @@
|
||||
# GoodGo Platform AI
|
||||
|
||||
Vietnam's intelligent real estate platform — property search, AI-powered valuation, and end-to-end transaction management.
|
||||
Nền tảng bất động sản thông minh của Việt Nam — tìm kiếm nhà đất, định giá bằng AI và quản lý giao dịch toàn trình.
|
||||
|
||||
## Tech Stack
|
||||
## Công Nghệ Sử Dụng
|
||||
|
||||
| Layer | Technology |
|
||||
| Tầng | Công nghệ |
|
||||
|-------|-----------|
|
||||
| **Backend** | NestJS 11, TypeScript, Prisma ORM, CQRS |
|
||||
| **Frontend** | Next.js 15, React 18, Tailwind CSS, Zustand |
|
||||
| **Database** | PostgreSQL 16 + PostGIS 3.4 |
|
||||
| **Search** | Typesense 27 |
|
||||
| **Cơ sở dữ liệu** | PostgreSQL 16 + PostGIS 3.4 |
|
||||
| **Tìm kiếm** | Typesense 27 |
|
||||
| **Cache/Queue** | Redis 7 |
|
||||
| **AI/ML** | FastAPI, XGBoost, Claude API, Underthesea |
|
||||
| **MCP** | Model Context Protocol servers (property search, valuation, analytics) |
|
||||
| **Storage** | MinIO (S3-compatible) |
|
||||
| **Monitoring** | Prometheus, Grafana, Loki + Promtail |
|
||||
| **Payments** | VNPay, MoMo, ZaloPay |
|
||||
| **MCP** | Model Context Protocol servers (tìm kiếm nhà đất, định giá, phân tích) |
|
||||
| **Lưu trữ** | MinIO (tương thích S3) |
|
||||
| **Giám sát** | Prometheus, Grafana, Loki + Promtail |
|
||||
| **Thanh toán** | VNPay, MoMo, ZaloPay |
|
||||
|
||||
## Architecture Overview
|
||||
## Tổng Quan Kiến Trúc
|
||||
|
||||
```
|
||||
┌─────────────┐ ┌──────────────┐ ┌──────────────────┐
|
||||
@@ -47,7 +47,7 @@ Vietnam's intelligent real estate platform — property search, AI-powered valua
|
||||
└────────────────┘
|
||||
```
|
||||
|
||||
## Monorepo Structure
|
||||
## Cấu Trúc Monorepo
|
||||
|
||||
```
|
||||
goodgo-platform-ai/
|
||||
@@ -64,15 +64,15 @@ goodgo-platform-ai/
|
||||
└── docs/ # Developer documentation
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
## Khởi Động Nhanh
|
||||
|
||||
### Prerequisites
|
||||
### Yêu Cầu Tiên Quyết
|
||||
|
||||
- **Docker Engine 24+** & Docker Compose v2
|
||||
- **Node.js 22 LTS**
|
||||
- **pnpm 10.27+** (`corepack enable && corepack prepare pnpm@latest --activate`)
|
||||
|
||||
### Setup
|
||||
### Cài Đặt
|
||||
|
||||
```bash
|
||||
# 1. Clone the repository
|
||||
@@ -103,26 +103,26 @@ pnpm db:seed
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
The API will be available at `http://localhost:3001/api/v1` and the web app at `http://localhost:3000`.
|
||||
API sẽ khả dụng tại `http://localhost:3001/api/v1` và ứng dụng web tại `http://localhost:3000`.
|
||||
|
||||
> **Swagger UI**: Open `http://localhost:3001/api/v1/docs` for interactive API documentation.
|
||||
> **Swagger UI**: Mở `http://localhost:3001/api/v1/docs` để xem tài liệu API tương tác.
|
||||
|
||||
### Infrastructure Services
|
||||
### Các Dịch Vụ Hạ Tầng
|
||||
|
||||
| Service | Port(s) | Dashboard |
|
||||
| Dịch vụ | Cổng | Bảng điều khiển |
|
||||
|---------|---------|-----------|
|
||||
| PostgreSQL + PostGIS | 5432 | — |
|
||||
| Redis | 6379 | — |
|
||||
| Typesense | 8108 | `http://localhost:8108/health` |
|
||||
| MinIO | 9000 / 9001 | `http://localhost:9001` (console) |
|
||||
| AI Services (FastAPI) | 8000 | `http://localhost:8000/health` |
|
||||
| Loki (log aggregation) | 3100 | `http://localhost:3100/ready` |
|
||||
| Loki (tổng hợp log) | 3100 | `http://localhost:3100/ready` |
|
||||
| Prometheus | 9090 | `http://localhost:9090` |
|
||||
| Grafana | 3002 | `http://localhost:3002` |
|
||||
|
||||
## Development
|
||||
## Phát Triển
|
||||
|
||||
### Common Commands
|
||||
### Các Lệnh Thông Dụng
|
||||
|
||||
```bash
|
||||
pnpm dev # Start all apps (API + Web)
|
||||
@@ -133,7 +133,7 @@ pnpm format # Format with Prettier
|
||||
pnpm test # Run unit/integration tests
|
||||
```
|
||||
|
||||
### Database
|
||||
### Cơ Sở Dữ Liệu
|
||||
|
||||
```bash
|
||||
pnpm db:generate # Regenerate Prisma client
|
||||
@@ -144,7 +144,7 @@ pnpm db:studio # Open Prisma Studio (visual editor)
|
||||
pnpm db:reset # Reset database (destructive)
|
||||
```
|
||||
|
||||
### E2E Testing
|
||||
### Kiểm Thử E2E
|
||||
|
||||
```bash
|
||||
pnpm test:e2e # Run all E2E tests
|
||||
@@ -153,41 +153,41 @@ pnpm test:e2e:web # Web UI tests only
|
||||
pnpm test:e2e:report # Open HTML test report
|
||||
```
|
||||
|
||||
## API Modules
|
||||
## Các Module API
|
||||
|
||||
All API routes are prefixed with `/api/v1/`. Each module follows Domain-Driven Design with `presentation/`, `application/`, `domain/`, and `infrastructure/` layers.
|
||||
Tất cả route API đều có tiền tố `/api/v1/`. Mỗi module tuân theo Domain-Driven Design với các tầng `presentation/`, `application/`, `domain/` và `infrastructure/`.
|
||||
|
||||
| Module | Description |
|
||||
| Module | Mô tả |
|
||||
|--------|-------------|
|
||||
| **auth** | Registration, login, JWT + refresh token rotation, OAuth (Google/Zalo), KYC, user data export/deletion |
|
||||
| **listings** | Property listing CRUD, status workflow, media management |
|
||||
| **search** | Typesense full-text search with geo-spatial filters, saved searches |
|
||||
| **payments** | VNPay, MoMo, ZaloPay integration with callback verification |
|
||||
| **subscriptions** | Plan management, usage tracking, quota enforcement |
|
||||
| **notifications** | Email and in-app notification history & preferences |
|
||||
| **admin** | Listing moderation, user management, audit logs |
|
||||
| **analytics** | Market reports, price indices, AVM integration |
|
||||
| **agents** | Real estate agent profiles and verification |
|
||||
| **inquiries** | Property inquiry management |
|
||||
| **leads** | Lead tracking and conversion |
|
||||
| **reviews** | Property reviews and ratings |
|
||||
| **health** | Liveness and readiness health checks |
|
||||
| **mcp** | MCP server bridge (property search, valuation, analytics) |
|
||||
| **metrics** | Prometheus metrics and web vitals collection |
|
||||
| **shared** | Cross-cutting concerns: guards, pipes, filters, Prisma/Redis services |
|
||||
| **auth** | Đăng ký, đăng nhập, xoay vòng JWT + refresh token, OAuth (Google/Zalo), KYC, xuất/xoá dữ liệu người dùng |
|
||||
| **listings** | CRUD tin đăng nhà đất, quy trình trạng thái, quản lý tệp phương tiện |
|
||||
| **search** | Tìm kiếm toàn văn bản Typesense kết hợp bộ lọc địa lý, lưu tìm kiếm |
|
||||
| **payments** | Tích hợp VNPay, MoMo, ZaloPay kèm xác thực callback |
|
||||
| **subscriptions** | Quản lý gói dịch vụ, theo dõi mức sử dụng, kiểm soát hạn mức |
|
||||
| **notifications** | Lịch sử thông báo qua email và trong ứng dụng cùng tuỳ chọn cá nhân |
|
||||
| **admin** | Kiểm duyệt tin đăng, quản lý người dùng, nhật ký kiểm tra |
|
||||
| **analytics** | Báo cáo thị trường, chỉ số giá, tích hợp AVM |
|
||||
| **agents** | Hồ sơ và xác minh môi giới bất động sản |
|
||||
| **inquiries** | Quản lý yêu cầu tư vấn nhà đất |
|
||||
| **leads** | Theo dõi và chuyển đổi khách hàng tiềm năng |
|
||||
| **reviews** | Đánh giá và xếp hạng bất động sản |
|
||||
| **health** | Kiểm tra liveness và readiness |
|
||||
| **mcp** | Cầu nối MCP server (tìm kiếm nhà đất, định giá, phân tích) |
|
||||
| **metrics** | Thu thập metrics Prometheus và web vitals |
|
||||
| **shared** | Mối quan tâm chung: guards, pipes, filters, dịch vụ Prisma/Redis |
|
||||
|
||||
## Documentation
|
||||
## Tài Liệu
|
||||
|
||||
| Document | Description |
|
||||
| Tài liệu | Mô tả |
|
||||
|----------|-------------|
|
||||
| [Development Environment](docs/dev-environment.md) | Docker setup and local services |
|
||||
| [Architecture](docs/architecture.md) | System design, data flow, module structure |
|
||||
| [API Endpoints](docs/api-endpoints.md) | REST API endpoint reference |
|
||||
| [API Error Codes](docs/api-error-codes.md) | Error response format and all error codes |
|
||||
| [Deployment](docs/deployment.md) | Production deployment guide |
|
||||
| [Backup & Restore](docs/backup-restore.md) | Backup procedures and disaster recovery |
|
||||
| [Contributing](CONTRIBUTING.md) | Error handling conventions and coding patterns |
|
||||
| [Môi trường phát triển](docs/dev-environment.md) | Cài đặt Docker và các dịch vụ cục bộ |
|
||||
| [Kiến trúc](docs/architecture.md) | Thiết kế hệ thống, luồng dữ liệu, cấu trúc module |
|
||||
| [API Endpoints](docs/api-endpoints.md) | Tài liệu tham khảo REST API endpoint |
|
||||
| [Mã lỗi API](docs/api-error-codes.md) | Định dạng phản hồi lỗi và toàn bộ mã lỗi |
|
||||
| [Triển khai](docs/deployment.md) | Hướng dẫn triển khai môi trường sản xuất |
|
||||
| [Sao lưu & Khôi phục](docs/backup-restore.md) | Quy trình sao lưu và khôi phục sau sự cố |
|
||||
| [Đóng góp](CONTRIBUTING.md) | Quy ước xử lý lỗi và các mẫu lập trình |
|
||||
|
||||
## License
|
||||
## Giấy Phép
|
||||
|
||||
Proprietary — All rights reserved.
|
||||
Độc quyền — Bảo lưu mọi quyền.
|
||||
|
||||
Reference in New Issue
Block a user