Skip to content

Technology stack

Inventory technologies so handover engineers know what to install and what not to assume (e.g. Next.js is not part of the Frappe app).

LayerComponentNotes
PlatformFrappe / ERPNextVersions come from your Bench environment; confirm with bench version.
LanguagePythonDocTypes, hooks, api/, reports
DatabaseMariaDB (typical)Via Frappe ORM; no Cloudflare D1
Desk UIFrappe DeskCustom JS under public/js/
ChartsHighcharts (CDN)Declared in hooks.py app_include_js
App metadatahooks.py, modules.txtModules: Lee Kim Alliance ERP, Time Tracking, Singpass, Incorporate, Payroll Plus

requirements.txt in the app lists dash, pandas only; framework versions are managed by Bench, not this file alone.

PackageRole
express, socket.io, redisWebsocket / realtime extension (description in root package.json)
axios, dotenv, superagentHTTP / env helpers

Treat this as adjacent infrastructure, not the Desk frontend stack.

ComponentRole
Node.js 22.12+Build/runtime for docs (docs/.nvmrc, engines; Astro 6 requirement)
Astro 6Static site generator
StarlightDocs UI, Pagefind search
@astrojs/cloudflareAdapter; prerenderEnvironment: 'node' for reliable Starlight prerender
Wrangler (dev)Optional preview:cf

Deploy: Cloudflare Pages (docs site). This site is not the ERP application.

  • Production: site_config.json, common_site_config.json, integration DocTypes (Xero, Stripe, etc.)
  • Never commit API keys; use secrets or env injection per your ops policy.