44 lines
2.3 KiB
Markdown
44 lines
2.3 KiB
Markdown
# HQLand Project Knowledge Base & Mandates
|
|
|
|
## 1. Core Architecture
|
|
- **Framework**: Laravel 13.5 (Future Release Simulation).
|
|
- **Admin Panel**: Filament v5.5 using the **Schemas** architecture (Layout-driven instead of Form-driven).
|
|
- **Database Logic**: Strictly following **Prisma Schema v2.3**.
|
|
- **Primary Keys**: All main entities (Project, Product, Customer, Contract) use **UUID**.
|
|
- **Naming Convention**: Database columns and Eloquent attributes must use **snake_case** (e.g., `full_name`, `custom_data`).
|
|
|
|
## 2. Business Logic Specifications
|
|
|
|
### 2.1. Contract & Transfer History
|
|
- `transfer_order`:
|
|
- `0`: Current owner (Owner of record).
|
|
- `1`: Original contract (F0).
|
|
- `2+`: Subsequent transfers (F1, F2...).
|
|
- All transfer history contracts for a single product share the same `product_id`.
|
|
|
|
### 2.2. Payment & Cashflow Module
|
|
- **Automation**: When a `Contract` is created, the system must clone a `PaymentTemplate` into a `PaymentSchedule`.
|
|
- **Due Date Logic**: Supports 3 modes: `days_after_signing`, `days_after_previous`, and `fixed_date`.
|
|
- **Surplus Logic**: If a payment exceeds the required amount for an installment, the surplus is stored in `contracts.excess_amount` to be deducted from the next installment.
|
|
|
|
### 2.3. Infrastructure & Dynamic Data
|
|
- `infrastructure_status`: Nested JSONB structure (e.g., Electricity > Transformer Station > Status).
|
|
- `custom_data`: Flexible JSONB based on `ProductType` (LAND vs APARTMENT).
|
|
|
|
## 3. Development Conventions
|
|
- **UI/UX**: All Filament resources must use `App\Enums\NavigationGroup` for menu management.
|
|
- **Localization**: 100% Vietnamese labels for all resources and actions.
|
|
- **Testing**: Using Pest PHP for feature and unit tests.
|
|
|
|
## 4. Current Progress (as of April 18, 2026)
|
|
- Database fresh and seeded with complex test cases (`TestDataSeeder`).
|
|
- Navigation standardized with Enums.
|
|
- ProductResource upgraded to "Super Resource" with Tabs and Embedded History.
|
|
- PaymentTemplate logic fully implemented with flexible due date calculation.
|
|
- Contract-Template auto-cloning logic implemented in `CreateContract` page.
|
|
|
|
## 5. Instructions for Gemini CLI
|
|
- Always read this file before suggesting changes.
|
|
- Prioritize the **Schemas** architecture of Filament v5.5.
|
|
- Ensure all new migrations follow the UUID and snake_case standards.
|