Ho Ngoc Hai
c478abae38
feat(listings): add ROOM_RENTAL, CONDOTEL, SERVICED_APARTMENT property types (GOO-20)
...
- Add ROOM_RENTAL, CONDOTEL, SERVICED_APARTMENT to PropertyType enum in schema.prisma
- Create migration 20260422010000_add_room_rental_property_types with ALTER TYPE ADD VALUE
- Add DEFAULT_RANGES in PrismaPriceValidator: ROOM_RENTAL 1M-10M VND/month, CONDOTEL 20M-300M, SERVICED_APARTMENT 20M-250M VND/m²
- Add i18n translations: vi "Phòng trọ / Condotel / Căn hộ dịch vụ", en "Room Rental / Condotel / Serviced Apartment"
- Typesense indexes propertyType as a generic string facet — no schema change needed
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-22 23:26:01 +07:00
Ho Ngoc Hai
38b9def99a
feat: implement project development module, transfer management features, and industrial AVM model integration
2026-04-18 20:34:35 +07:00
Ho Ngoc Hai
57db3fe388
test(auth): add unit tests for KYC presigned upload and submit handlers
...
Cover GenerateKycUploadUrlsHandler (10 tests) and SubmitKycHandler (10 tests):
presigned URL flow, legacy file upload, status validation, error handling.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-16 13:19:44 +07:00
Ho Ngoc Hai
53c33a1c50
feat(mcp): add industrial parks and reports MCP tool servers
...
Add IndustrialParkServer for KCN/KCX search and analytics, and
ReportsServer for market report generation. Include unit tests
for industrial parks server.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-16 05:16:11 +07:00
Ho Ngoc Hai
62f4f001b6
test(api): add domain layer unit tests across all modules
...
Cover admin events, notifications, reviews, search VOs, listings (property,
media, events, price/geo/address VOs), auth events, payment events,
subscription events, and analytics events. Raises domain test coverage
from ~24% to ~75%.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-09 00:36:39 +07:00
Ho Ngoc Hai
a2e87c34e4
test(mcp-servers): add unit tests for property search, market analytics, and valuation servers
...
29 tests covering all 9 MCP tools: search_properties, compare_properties,
get_property_details, market_report, price_trends, district_comparison,
estimate_property_value, extract_listing_features, and batch_valuation.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-08 16:31:35 +07:00
Ho Ngoc Hai
2502aa69b7
fix: production readiness — resolve build, lint, and code quality issues
...
- Fix Next.js build failure: remove duplicate route at (dashboard)/listings/[id]
that conflicted with (public)/listings/[id] (same URL path in two route groups)
- Fix 772 ESLint errors: auto-fix import ordering (import-x/order), remove unused
imports/variables, convert empty interfaces to type aliases, replace require()
with ESM imports, fix consistent-type-imports violations
- Add CLAUDE.md for developer onboarding documentation
- All checks pass: 0 lint errors, typecheck clean, 230 tests passing, build success
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-08 07:15:06 +07:00
Ho Ngoc Hai
271ad76e6f
fix: resolve E2E test failures and API runtime issues for Docker dev environment
...
- Fix DI issues: circular MCP module dependency, EventBus type import,
SearchModule provider, CacheService metric counters placement
- Fix Express 5 readonly req.query in SanitizeInputMiddleware
- Fix Typesense client lazy initialization (getter instead of constructor)
- Fix MinIO bucket init error handling (non-fatal on 403)
- Fix missing class-validator decorators on bigint DTO fields (priceVND, amountVND)
- Fix subscription plan 404 (was returning 500 for invalid tier)
- Disable CSRF and raise rate limits in test environment
- Update E2E tests to match actual API response shapes
- Update CI workflow with Redis, Typesense, MinIO services and env vars
All 101 API E2E tests now pass against Docker dev environment.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-08 05:44:00 +07:00
Ho Ngoc Hai
cb00b12d7b
feat(mcp): add MCP Server Integration — Property Search, Analytics, Valuation
...
Implement 3 MCP servers in libs/mcp-servers/ using @modelcontextprotocol/sdk:
- Property Search: NL search via Typesense, property comparison, detail lookup
- Market Analytics: market reports, price trends, district comparison
- Valuation: AVM integration with Python AI service, feature extraction, batch valuation
Includes NestJS integration module with SSE transport for in-process hosting.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-08 03:22:27 +07:00