Resolved merge conflicts between main and alt-design branches. Key decisions: - BFF: Adopted SIM-first workflow from main (PA05-18 → PA02-01 → PA05-05 → WHMCS) - BFF: Kept FreebitFacade pattern, added new services (AccountRegistration, VoiceOptions, SemiBlack) - BFF: Fixed freebit-usage.service.ts bug (quotaKb → quotaMb) - BFF: Merged rate limiting + HTTP status parsing in WHMCS error handler - Portal: Took main's UI implementations - Deleted: TV page, SignupForm, ServicesGrid (as per main) - Added whmcsRegistrationUrl to field-maps.ts (was missing after file consolidation) TODO post-merge: - Refactor order-fulfillment-orchestrator.service.ts to use buildTransactionSteps abstraction - Fix ESLint errors from main's code (skipped pre-commit for merge)
Portal Structure Overview
This app follows a feature-first architecture with a consolidated lib for shared utilities.
Structure:
src/
app/ # Next.js App Router
components/ # Design system (ui, layout, common)
features/ # Feature modules (auth, billing, subscriptions, ...)
lib/ # Core utils and services (api, query, env, utils, types)
providers/ # App-wide providers (e.g., QueryProvider)
styles/ # Global styles
Key changes:
- Merged former
core/andshared/intolib/. - Moved
components/providers/query-provider.tsxtoproviders/query-provider.tsx. - Introduced path aliases:
@/lib/*,@/providers/*.
Migration tips:
- Prefer importing from
@/lib/...going forward. - All
@/shared/*or@/core/*imports have been removed; use@/lib/*.