Revamp stage one - individual account and account setup fixed
This commit is contained in:
@@ -23,9 +23,17 @@ Kifi is a financial and inventory management application designed to handle stri
|
||||
- Product pricing can follow auto-calculated rules.
|
||||
- Images are uploaded as Multipart form data, converted to Base64 in the backend, and sent to MinIO.
|
||||
|
||||
### 3. Vendor & Purchase Orders (Current Focus)
|
||||
### 3. Vendor & Purchase Orders
|
||||
- Active development on Vendor Management, Purchase Orders, and Purchase Payments.
|
||||
|
||||
### 4. Project Management (Tasks)
|
||||
- Supports full Project creation, task assignment, and billing rates.
|
||||
- **Task Comments & Attachments**: Task comments support both legacy Base64 attachments (stored in PostgreSQL) and newer MinIO-backed attachments. Native downloading and sharing of non-image files (PDFs, Docs) is implemented via `file_picker` and `share_plus`. Images utilize a full-screen zoomable gallery.
|
||||
|
||||
### 5. UI Standardization
|
||||
- **Design System**: The application strictly adheres to a uniform, enterprise-grade design system across all list screens (Projects, Invoices, Vendors, Task Board).
|
||||
- **Standard Themes**: `Colors.grey[100]` is the standard background color, and search fields use white containers with rounded corners and no borders. The `CustomersScreen` serves as the UI source of truth.
|
||||
|
||||
## Important Technical Rules & Conventions
|
||||
1. **R2DBC Limitations**: Because R2DBC is fully reactive, it does not automatically fetch relations (no lazy loading like Hibernate). Transient relational fields (e.g. `@Transient List<ProductImage> images` in `Product`) MUST be manually populated in the Service layers using `Mono.zip` or `flatMap` before returning to the controller.
|
||||
2. **API Routing (kifi vs kifi-v2)**: The application is migrating to a new reactive backend. New endpoints are mapped under `/api/kifi-v2/` (e.g., `/api/kifi-v2/inventory/products`), while some legacy mobile integrations might still point to `/api/kifi/` (e.g., transactions). Pay close attention to Base URL configurations in `DioClient` vs hardcoded URLs in UI widgets.
|
||||
|
||||
Reference in New Issue
Block a user