Fix inconsistent line endings across all project files for cross-environment consistency. Add complete unit test suite covering core utilities, API routes, and server services. Add Playwright E2E test setup with smoke, auth, and agent API tests. Update all project configuration files to match standardized formatting. Fix MCP API error handling to properly propagate HTTP status codes and use correct JSON-RPC error codes. Add VSCode workspace configuration, extensions, and example MCP config files. Update .gitignore to exclude new test and build artifacts.
47 lines
2.3 KiB
Markdown
47 lines
2.3 KiB
Markdown
# WFDASH Migration Audit (2026-05-25)
|
|
|
|
## Current State
|
|
- Legacy app: Django monolith in `/D:/NEWBUILD/WFDASH_django`.
|
|
- New app: Next.js + PocketBase in `/D:/NEWBUILD/wfnextjs`.
|
|
- Database direction: PocketBase collections already mirror core CRM entities.
|
|
- Operations direction: workflow automation moving to n8n.
|
|
|
|
## Django Scope Found
|
|
- 40+ model classes across modules, including: quotes, orders, driver_list, delivery_notes, stock, repairs, husqvarna service, POS, AI orders, reporting/portal modules.
|
|
- Heavy background/process setup: Celery, Redis, email monitors, webhook integrations, debug middleware, multiple app copies/archives.
|
|
- Hosting complexity indicators:
|
|
- very broad `INSTALLED_APPS`
|
|
- multiple legacy snapshots (`*_old`, date-stamped modules)
|
|
- mixed concerns (UI, automation, integrations, monitoring) in one runtime.
|
|
|
|
## Next.js Scope Found
|
|
- Strong foundation for CRM core modules (customers, companies, suppliers, quotes, orders).
|
|
- PocketBase collection integration already implemented in UI helpers.
|
|
- Missing before agent rollout:
|
|
- dedicated server API layer
|
|
- MCP-compatible tool gateway
|
|
- migration governance docs and field naming standards.
|
|
|
|
## PocketBase Findings (from attached schema)
|
|
Core collections present:
|
|
- `customers`, `companies`, `suppliers`, `quotes`, `quote_items`, `orders`, `order_items`, `purchase_orders`.
|
|
|
|
`order_items` already includes advanced lifecycle fields and driver/delivery states.
|
|
Current mixed naming exists (`driver_status`) while new desired naming is `drv_*`.
|
|
|
|
## Recommended Migration Strategy
|
|
1. Freeze feature growth in Django except critical fixes.
|
|
2. Define "parity slices" by workflow, not by old apps.
|
|
3. Migrate in this order:
|
|
1. Quote to Order conversion lifecycle
|
|
2. Order item operations + driver loop
|
|
3. Purchase order + supplier communications
|
|
4. Monitoring and alerts via n8n
|
|
5. Optional legacy modules (repairs/POS/service) only if still needed
|
|
4. Keep PocketBase as source of truth for transactional state.
|
|
5. Move automations to n8n and keep Next.js API minimal and deterministic.
|
|
|
|
## Immediate Deliverables Added in This Repo
|
|
- `/D:/NEWBUILD/wfnextjs/src/app/api/v1/*` REST starter routes for agents.
|
|
- `/D:/NEWBUILD/wfnextjs/src/app/api/mcp/route.ts` MCP-style JSON-RPC gateway.
|
|
- Normalizer accepting both `driver_status` and `drv_status` for transition safety.
|