app / adom-erp
!

Not installable via adompkg

This app has no published release. adompkg install kyle/adom-erp will not work until a maintainer publishes a tarball with install.sh and uninstall.sh.

See the publishing docs for the package.json schema and tarball layout required to ship this app.

Adom ERP Suite — Complete Feature Tree

95 database tables · 340+ API endpoints · 94 routes (87 web + 7 portal) · 20 detail pages · 3 apps


Authentication & Onboarding

Login (/login)

  • Adom-branded SSO login page
  • Keycloak OIDC redirect ("Continue with SSO" button)
  • Dark theme with inline Adom logo
  • OIDC callback handler (/api/auth/callback) — code exchange, cookie-based session
  • Auth middleware — redirects unauthenticated requests to /login

Onboarding Wizard (first-run flow)

  • Step 1 — Company Setup (/setup) — Company name, industry, address, timezone, currency
  • Step 2 — Chart of Accounts (/accounts) — "Use Standard Template" (US GAAP) or "Import from CSV"
  • Step 3 — Invite Team (/team) — Email invites with role assignment (Admin/Controller/Accountant/Clerk/Viewer)
  • Step 4 — Complete (/complete) — Animated checkmark, "Go to Dashboard" button
  • 4-step progress bar (teal completed, border upcoming)

App Shell (all authenticated pages)

Global Navigation Bar

  • Inline Adom SVG logo (white on dark, black on light) — links to dashboard
  • Dynamic breadcrumb trail (set per-page via BreadcrumbProvider)
  • Search trigger button (⌘K shortcut label)
  • Notification bell with unread count badge + dropdown panel (mark read, mark all read, view all)
  • Theme toggle (dark/light with sun/moon SVG icons)
  • User avatar menu with dropdown

Module Sidebar

  • 9 modules: Finance, Supply Chain, Manufacturing, HCM, CRM, Startup, Reports, Admin
  • Monochrome SVG icons per module
  • Expandable sub-navigation for active module
  • Active state: teal accent color + accent-muted background + left border

Command Palette (⌘K)

  • Modal overlay with search input
  • 8 navigation items: Finance, Supply Chain, HCM, CRM, Manufacturing
  • 3 quick actions: New Journal Entry, New Purchase Order, New Sales Invoice
  • Keyboard navigation (arrow keys + Enter)
  • Escape to close
  • Category grouping (Navigate / Quick Actions)

Dashboard (/dashboard)

  • KPI Cards (4-column grid)
    • Revenue (MTD) — JetBrains Mono $0
    • Outstanding AP
    • Outstanding AR
    • Cash Balance
  • Pending Actions section — shows onboarding prompt when empty

Finance Module

General Ledger (/finance/gl)

  • Table: Entry #, Date, Description, Debit, Credit, Status, Actions
  • 5 mock entries (JE-00001 through JE-00005)
  • Status badges: Draft (gray), Pending (yellow), Approved (teal), Posted (green), Voided (red)
  • Filters: status dropdown, date range pickers, search
  • "New Entry" teal button
  • "View" button per row

Journal Entry Detail (/finance/gl/[id])

  • Header: entry number, status badge, date, description
  • Lines table: Line #, Account, Description, Debit, Credit
  • Footer: Total Debit / Total Credit (bold JetBrains Mono)
  • Action buttons by status: Submit (draft), Approve (pending), Post (approved), Void (draft/pending)

Chart of Accounts (/finance/accounts)

  • Tree view with expand/collapse chevrons
  • Columns: Code (mono), Name, Type (color-coded badge), Postable, Balance
  • Account type colors: asset=blue, liability=orange, equity=purple, revenue=green, expense=red
  • 12 mock accounts (1000 Cash through 6200 Utilities)

Vendors (/finance/ap/vendors)

  • Table: Vendor #, Name, Payment Terms, Email, Phone, Status
  • 5 mock vendors (Office Depot, AWS, WeWork, Gusto Payroll, Adobe)
  • Search + Active/Inactive toggle filter
  • "New Vendor" button, pagination

Vendor Detail (/finance/ap/vendors/[id])

  • Info grid: Legal Name, Tax ID (masked), Payment Terms, Email, Phone, Website
  • Address block
  • Edit button, Deactivate button (with confirm dialog)

Purchase Invoices (/finance/ap/invoices)

  • Table: Invoice #, Vendor, Invoice Date, Due Date, Total, Amount Due, Status
  • 4 mock invoices
  • Filters: status, vendor, date range
  • "New Invoice" button

Purchase Invoice Detail (/finance/ap/invoices/[id])

  • Header: invoice number, vendor, dates, status
  • Lines table: #, Description, GL Account, Qty, Unit Price, Tax, Line Total
  • Footer: Subtotal, Tax Total, Grand Total
  • Actions: Submit, Approve, Void (with confirm)

Customers (/finance/ar/customers)

  • Table: Customer #, Name, Payment Terms, Credit Limit, Email, Status
  • 5 mock customers (Acme Corp, TechStart Inc, Global Solutions, Bright Ideas, NextGen AI)
  • Search + status filter

Customer Detail (/finance/ar/customers/[id])

  • Info grid + credit limit display
  • Edit button, Deactivate button (with confirm)

Sales Invoices (/finance/ar/invoices)

  • Table: Invoice #, Customer, Invoice Date, Due Date, Total, Paid, Due, Status
  • 4 mock invoices
  • "Record Payment" inline form with amount input

Sales Invoice Detail (/finance/ar/invoices/[id])

  • Payment progress bar (amountPaid / total)
  • Actions: Submit, Approve, Void, Apply Payment

Fixed Assets (/finance/assets)

  • Placeholder page — asset register, depreciation schedules

Budgets (/finance/budgets)

  • Placeholder page — budget planning, variance analysis

Supply Chain Module

Items (/supply-chain/items)

  • Table: SKU (mono), Name, Category, UOM, Std Cost, Stock On Hand, Status
  • 8 mock items (enclosures, PCBs, power supplies, cables, hardware, displays, ICs)
  • Search + category/status filters
  • "New Item" button

Item Detail (/supply-chain/items/[id])

  • Info grid: SKU, Name, Category, UOM, Weight, Dimensions, Barcode
  • Costing section (standard cost, last purchase price)
  • Replenishment settings (reorder point, qty, safety stock, lead time)
  • Stock levels table by location
  • Deactivate action

Purchase Orders (/supply-chain/purchase-orders)

  • Table: PO #, Vendor, Order Date, Expected Date, Total, Status
  • 4 mock POs with statuses (draft, approved, sent, partially received)
  • Filters: search, status

Purchase Order Detail (/supply-chain/purchase-orders/[id])

  • Header: vendor, dates, ship-to location
  • Lines table: Item, Qty, Unit Price, Tax, Total, Received
  • Totals footer (Subtotal, Tax, Shipping, Grand Total)
  • Actions by status: Submit, Approve, Send, Close, Cancel

Inventory (/supply-chain/inventory)

  • 3 KPI Cards: Total Items, Total Inventory Value, Below Reorder Point (warning)
  • Stock table: SKU, Item, Location, On Hand, Reserved, Available, On Order
  • Adjust Inventory inline form (item, location, qty, reason)
  • Transfer Inventory inline form (item, from/to location, qty)
  • 6 mock stock records across 2 warehouses

Sales Orders (/supply-chain/sales-orders)

  • Table: SO #, Customer, Order Date, Requested Delivery, Total, Status
  • 4 mock SOs
  • Actions: Confirm (reserves inventory), Process, Cancel (releases inventory), Close

Sales Order Detail (/supply-chain/sales-orders/[id])

  • Lines: Item, Qty, Unit Price, Discount%, Tax, Total, Shipped
  • Action buttons by status

Shipments (/supply-chain/shipments)

  • Table: Shipment #, SO #, Carrier, Status, Tracking, Shipped Date
  • 3 mock shipments (FedEx, UPS, DHL) with tracking numbers
  • Actions: Pick, Pack, Ship, Deliver

Shipment Detail (/supply-chain/shipments/[id])

  • Tracking info section
  • Lines: Item, Qty, From Location
  • Action buttons by status

HCM & Payroll Module

Employee Directory (/hcm/employees)

  • Table: Emp # (mono), Name, Department, Job Title, Type, Status
  • 8 mock employees (Sarah Chen, Marcus Johnson, Emily Rodriguez, etc.)
  • Search + department dropdown filter
  • "Add Employee" button
  • Status badges: Active (green), On Leave (yellow)

Employee Detail (/hcm/employees/[id])

  • 4-card info grid: Personal Details, Employment Details, Compensation (salary in mono), Emergency Contact
  • Direct reports table
  • Edit button, Terminate button

Leave Management (/hcm/leave)

  • Pending Requests table (for managers): Employee, Type, Dates, Hours, Status
    • Approve/Reject buttons per request
  • My Leave Balances cards:
    • Annual: 160h entitled / 32h used / 128h available
    • Sick: 64h entitled / 8h used / 56h available
    • Personal: 24h entitled / 0h used / 24h available
    • Visual progress bars (teal fill, warning color above 80%)
  • "Request Leave" button

Payroll (/hcm/payroll)

  • Table: Run # (mono), Period, Pay Date, Employees, Gross, Net, Status
  • 3 mock payroll runs (PR-00001 through PR-00003)
  • "New Payroll Run" button

Payroll Run Detail (/hcm/payroll/[id])

  • 4 KPI Cards: Total Gross, Total Deductions, Total Net, Employer Cost
  • Payslips table: Employee, Gross, Deductions, Net, Employer Cost
  • Totals footer row
  • Actions by status: Calculate (draft), Approve (calculated), Process (approved), Void

Benefits (/hcm/benefits)

  • Tab switcher: Plans / Enrollment Summary
  • Plans table: Code, Name, Type (badge), Employee Cost, Employer Cost, Status
  • 4 mock plans: HEALTH-PPO, DENTAL-BASIC, VISION-STD, 401K-MATCH
  • Enrollment Summary cards: plan name, enrolled count, total monthly cost

CRM Module

CRM Accounts (/crm/accounts)

  • Table: Account # (mono), Name, Stage, Industry, Owner, Score, Last Activity
  • 6 mock accounts at various stages (prospect, lead, qualified, customer)
  • Search + stage filter

Account Detail (/crm/accounts/[id])

  • Info grid + tags display
  • Contact list, opportunities table, recent activities timeline

Sales Pipeline — Kanban (/crm/pipeline)

  • 3 KPI Cards: Total Pipeline ($1,425,000), Weighted Value ($687,500), Avg Deal Size ($178,125)
  • 5 Kanban columns: Prospecting (3), Qualification (2), Needs Analysis (0), Proposal (2), Negotiation (1)
  • Deal cards: name, account, amount (mono), probability %, close date
  • Colored top borders per stage
  • 8 mock opportunities

Opportunity Detail (/crm/opportunities/[id])

  • Header: name, stage badge, amount (mono)
  • Info grid: Account, Contact, Source, Expected Close, Probability
  • Activity timeline
  • Actions: Advance Stage, Close Won, Close Lost

Quotes (/crm/quotes)

  • Table: Quote # (mono), Account, Status, Total, Valid Until
  • 4 mock quotes (draft, sent, accepted, expired)

Quote Detail (/crm/quotes/[id])

  • Lines table: Description, Qty, Unit Price, Discount%, Tax, Total
  • Totals footer (Subtotal, Discount, Tax, Grand Total)
  • Actions: Send, Accept, Reject, Convert to Sales Order

Activities (/crm/activities)

  • Type filter tabs: All, Calls, Emails, Meetings, Tasks, Notes, Demos, Follow-ups
  • Upcoming section at top
  • Activity cards: type icon (monochrome SVG), subject, related account/contact, due date, completion status
  • 8 mock activities
  • "New Activity" button

Support Tickets (/crm/tickets)

  • Table: Ticket # (mono), Subject, Account, Priority, Status, Assigned To, Created
  • Priority badges: low (gray), normal (blue), high (orange), critical (red)
  • 5 mock tickets
  • Filters: status, priority, search

Ticket Detail (/crm/tickets/[id])

  • Header + status/priority badges
  • Comments thread (internal comments have dashed border)
  • Add comment form with "Internal Note" toggle
  • Actions: Resolve, Close, Reopen, Assign

Manufacturing Module

Bills of Materials (/manufacturing/bom)

  • Table: BOM # (mono), Name, Finished Item, Revision, Status
  • 3 mock BOMs
  • "New BOM" button

BOM Detail (/manufacturing/bom/[id])

  • Components table: #, Component (with SKU), Qty, UOM, Scrap%, Phantom
  • Cost Rollup section: Material Cost, Labor Cost, Overhead Cost, Total Cost (accent-colored)
  • Actions: Cost Rollup, Activate (draft), Obsolete (active)

Work Orders (/manufacturing/work-orders)

  • Table: WO # (mono), Item, Qty, Completed, Status, Priority, Planned Start, Planned End
  • Priority badges (low/normal/high/urgent)
  • 4 mock work orders at various stages

Work Order Detail (/manufacturing/work-orders/[id])

  • Status + priority badges in header
  • Progress bar (quantityCompleted / quantity, teal fill)
  • Operations table: Step, Name, Work Center, Status, Planned Time, Actual Time
  • Materials table: Item, Planned, Consumed, Scrapped
  • Cost comparison table: Planned vs Actual vs Variance (red/green coloring)
  • Actions by status: Release, Start, Complete, Cancel, Close

Quality Inspections (/manufacturing/quality)

  • Table: Inspection # (mono), Item, WO, Sample Size, Passed (green), Failed (red), Status
  • 3 mock inspections

MRP Planning (/manufacturing/mrp)

  • "Run MRP" button
  • Latest run summary card: Run #, Date, Recommendations count, Actioned count
  • Recommendations table: Item (with SKU), Type badge (WO/PO), Qty, Required Date, Reason, Actioned
  • "Action" button per unactioned recommendation
  • 5 mock recommendations

Reporting & Analytics Module

Analytics Dashboard (/reporting)

  • 6 KPI Cards with trend arrows (up/down SVG):
    • Revenue: $125,000.00 (+12.5%)
    • Gross Margin: 68.0% (+2.3%)
    • Orders: 847 (+8.1%)
    • Avg Order Value: $147.58 (-1.2%)
    • On-Time Delivery: 94.2% (+0.8%)
    • Customer Churn: 2.1% (-0.3%)
  • 6 Chart Placeholders: Revenue Trend, Expenses by Category, Order Fulfillment Rate, Top Products, Cash Flow Analysis, Inventory Turnover

Report Library (/reporting/reports)

  • Reports grouped by category: Finance, Supply Chain, Manufacturing, HCM, CRM
  • Category badges (teal/purple/orange/blue/green)
  • Each report card: name, description, "Run" and "Save" buttons
  • Search bar
  • 32 buttons total (Run + Save per report)

Report Viewer (/reporting/reports/[id])

  • Header with export buttons (PDF, CSV, XLSX)
  • Dynamic filter bar from report definition
  • Sortable column headers
  • Pagination
  • Execution metadata (rows returned, time taken)

Dashboards (/reporting/dashboards)

  • Dashboard cards: name, description, owner, widget count, "Default" badge
  • "Create Dashboard" button
  • 2 mock dashboards

Dashboard Builder (/reporting/dashboards/[id])

  • Widget grid with type badges (KPI, Chart, Table, Gauge)
  • Widget placeholder content (large numbers, bar charts, table rows)
  • "Add Widget" button
  • Edit/Remove icons per widget

Scheduled Reports (/reporting/scheduled)

  • Table: Name, Report, Frequency, Format, Recipients (pill badges), Next Run, Last Run, Active toggle
  • Frequency badges (Daily=teal, Weekly=blue, Monthly=purple)
  • Active toggle switch with optimistic update
  • "Schedule Report" button
  • 3 mock scheduled reports

Startup Module

Cap Table (/startup/equity)

  • Ownership Summary with CSS conic-gradient pie chart
    • Founders 55%, Employees 15%, Investors 30%
    • Total Shares: 10,000,000
    • Latest Valuation: $20,000,000.00
  • Shareholders Table: Name, Type (badge), Shares, % Ownership, Vested, Unvested
    • 5 shareholders: Alex Rivera CEO, Jordan Lee CTO, Employee Option Pool, Sequoia Capital, Y Combinator
  • Fundraising Rounds Table: Name, Pre-Money Valuation, Amount Raised, Price/Share, Status
    • Seed Round ($5M pre-money, $2M raised, Closed)
    • Series A ($15M pre-money, $5M raised, Closed)
  • "View Grants" + "New Round" buttons

Equity Grants (/startup/equity/grants)

  • Table: Grantee, Type (option/rsa/rsu), Shares, Strike Price, Vesting (progress bar), Status
  • Purple vesting progress bars
  • 5 mock grants
  • "New Grant" button

Expense Management (/startup/expenses)

  • My Expenses / All Expenses toggle
  • Pending approval queue (yellow highlight)
  • Table: Report # (mono), Employee, Date, Total, Status
  • Actions: Submit, Approve, Reject, Reimburse
  • 4 mock expense reports

SaaS Vendor Spend (/startup/saas-spend)

  • 4 KPI Cards: Total Monthly Spend, Total Annual Spend, Active Subscriptions, Avg Utilization %
  • Upcoming Renewals warning section (next 30 days)
  • Table: Vendor, Product, Category (badge), Monthly Cost, Annual Cost, Seats (used/total), Renewal Date, Status
  • Category badges: engineering=teal, sales=green, marketing=purple, hr=blue
  • 8 mock subscriptions (GitHub, Slack, AWS, HubSpot, Figma, Notion, Zoom, Datadog)
  • "Add Subscription" button

OKR Tracking (/startup/okrs)

  • Company-wide progress bar at top (avg of all objectives)
  • Period filter (Q1-Q4) + Level filter (Company/Team/Individual)
  • Expandable objective cards:
    • Title, owner, progress bar (green on_track / yellow at_risk / red behind)
    • Nested key results: title, current/target value, unit, mini progress bar
  • 3 mock objectives with 2-3 key results each
  • "New Objective" button

R&D Tax Credits (/startup/rd-credits)

  • 3 KPI Cards: Qualifying Hours (YTD), Qualifying Wages, Estimated Credit (at 20% rate)
  • Activities Table: Name, Category (badge), Description, Qualifying (checkmark)
  • Time Entries Table: Employee, Activity, Date, Hours, Description
  • 4 mock activities + 6 mock time entries
  • "New Activity" + "Log Time" buttons

SaaS Metrics (/startup/metrics)

  • Description: "Key subscription business metrics. These would pull from a billing integration (e.g. Stripe) in production."
  • 8 KPI Cards: MRR ($0.00), ARR ($0.00), MoM Growth (0.0%), Net Revenue Retention (0.0%), Churn Rate (0.0%), LTV ($0.00), CAC ($0.00), LTV:CAC Ratio (0.0x)
  • 4 Chart Placeholders (dashed border, elevated bg):
    • MRR Over Time (Line Chart)
    • Revenue by Plan (Bar Chart)
    • Churn Cohort (Heatmap)
    • Customer Growth (Line Chart)

Burn Rate & Runway (/startup/burn)

  • 6 KPI Cards: Cash on Hand, Monthly Burn Rate, Gross Burn, Net Burn, Months of Runway, Last Fundraise
  • Runway Projection chart placeholder (declining dashed line with red $0 threshold)
  • Monthly Breakdown Table: Month (Jan-May 2026), Revenue, Payroll, SaaS, Rent, Other, Net Burn
  • Fundraising Milestones timeline: Pre-Seed, Seed, Series A (with "Planning" badges)

Admin Module

Administration Hub (/admin)

  • 6 admin cards (each with monochrome SVG icon, title, description):
    • Tenant Settings, User Management, Organizations, API Keys, Webhooks, Audit Log

Tenant Settings (/admin/settings)

  • Form: Company Name, Logo URL, Timezone dropdown, Default Currency dropdown, Locale dropdown
  • "Save Settings" teal button
  • Error banner for API failures

User Management (/admin/users)

  • Table: Name, Email, Roles (teal badge chips), Status, Last Login (mono)
  • 6 mock users with roles (Admin, Controller, Accountant, etc.)
  • Search + status filter
  • "Invite User" button

User Detail (/admin/users/[id])

  • Info grid + roles list with remove buttons
  • "Add Role" button
  • Deactivate action

Organizations (/admin/organizations)

  • Table: Name, Code (mono), Address, Users Count
  • "New Organization" button

API Keys (/admin/api-keys)

  • Table: Name, Key (masked ••••xxxx in mono), Created (mono), Expires, Status
  • "Generate Key" button (one-time reveal)
  • Revoke action per key

Webhooks (/admin/webhooks)

  • Table: URL (mono), Events (badge chips), Active toggle, Last Triggered (mono)
  • "Add Webhook" button
  • Edit/Delete actions

Audit Log (/admin/audit-log)

  • Table: Timestamp (mono), User, Action (color-coded badge), Entity, Details
  • 10 mock audit entries
  • Filters: Entity Type, User, Action, Date From, Date To

Workflows Module

My Approvals (/workflows)

  • Pending Approvals cards:
    • Entity type badge, entity reference, current step
    • Requested by, time waiting
    • Approve / Reject buttons
  • Recent Activity timeline with colored dots and time-ago

Workflow Definitions (/workflows/definitions)

  • Table: Name, Entity Type, Steps, Status, Instances Count
  • "New Workflow" button

Workflow Definition Detail (/workflows/definitions/[id])

  • Visual step pipeline: numbered boxes connected by SVG arrows
    • Each step: name, approver role/user
  • Activate/Deactivate toggle
  • Instance history table

Customer/Employee Portal (apps/portal — port 3002)

Portal Home (/)

  • Link cards to all sections with monochrome SVG icons

Customer Section

  • My Orders (/orders) — Order #, Date, Status, Total
  • My Invoices (/invoices) — Invoice #, Date, Due Date, Total, Paid, Due, Status + "Pay Now" button
  • My Tickets (/tickets) — Ticket list + new ticket form (subject, description, priority)
  • My Profile (/profile) — Read-only info grid

Employee Section

  • My Pay Stubs (/pay-stubs) — Pay Period, Gross, Deductions, Net + click-to-view detail
  • My Leave (/leave) — Balance cards + request form + request history
  • My Benefits — View enrolled plans

Backend-Only Features (API endpoints, no dedicated UI page)

Finance

  • Tax Codes CRUD + tax calculation (basis points)
  • Fixed Assets depreciation (straight-line, declining balance, batch runs)
  • Period Close wizard (3-point checklist, balance carry-forward, lock/reopen)
  • Account Balance projection (BullMQ job on JE post)

Supply Chain

  • Goods Receipts (3-way PO matching, stock movements on confirm)
  • Carriers CRUD (tracking URL templates)
  • Cycle Counts (auto-populate from inventory, variance calc, auto-adjustment)

HCM

  • Departments CRUD + tree hierarchy
  • Job Titles CRUD + salary bands
  • Attendance clock-in/out + monthly summaries
  • Leave balance initialization + carry-over

CRM

  • Contacts CRUD + DNC flags
  • Campaigns (bulk member add, conversion tracking, metrics)
  • Quote-to-Sales-Order conversion

Manufacturing

  • Work Centers CRUD
  • Routings + routing steps
  • Material consumption tracking
  • Quality checkpoints

Reporting

  • Report Definitions CRUD + seed system reports (8 built-in)
  • KPI snapshots (historical value capture)
  • Report execution logging (timing, row count)

Platform

  • WebSocket gateway (Socket.IO + Redis pub/sub)
  • BullMQ job queues (6 priority levels)
  • OPA authorization guard + @RequirePermission decorator
  • Notification service (DB + WebSocket emit)
  • Workflow engine (definition → instance → transition lifecycle)

Field Service

  • Service Orders (schedule → dispatch → start → complete with signature)
  • Technician GPS location tracking
  • Service territories (GeoJSON polygons)
  • Service order photos (before/after)

Startup

  • Equity grants (exercise, cancel, vesting tracking)
  • Liquidation waterfall analysis
  • Cap table aggregation
  • Expense report line items + receipt URLs
  • OKR progress auto-calculation
  • R&D credit summary (qualifying hours × wage rate × 20%)

Infrastructure & Tooling

Database

  • 8 schema files: platform, finance, supply-chain, hcm, crm, manufacturing, reporting, startup, field-service
  • 95 tables with proper indexes, multi-tenant row-level isolation (tenant_id on every table)
  • Drizzle ORM with type-safe schema definitions

i18n

  • 3 locales: en-US, fr-CA, es-US
  • ~100 translation keys per locale (common, nav, finance, scm, hcm, crm)
  • next-intl configured for incremental adoption

Storybook

  • 6 story files: Tokens, Buttons, Cards, Tables, Forms, StatusBadge
  • Adom brand showcase (color palette, typography scale, spacing)
  • Accessibility addon (@storybook/addon-a11y)

Seed Data

  • Demo tenant: Acme Corporation
  • 40 GL accounts (US GAAP standard COA)
  • 12 fiscal periods (FY 2026)
  • 3 tax codes, 8 departments, 11 job titles
  • 10 employees, 20 items, 5 vendors, 5 customers
  • 5 CRM accounts, 4 benefit plans
  • 30 leave balances (10 employees × 3 types)

CI/CD

  • GitHub Actions workflow with brand-audit job
  • Turbo build orchestration
  • TypeScript strict-mode typecheck across all packages

Docker Compose

  • PostgreSQL 16, Redis 7, Elasticsearch 8.17, MinIO, Keycloak 25, Mailpit