E-FACTS — E-receipt management companyE-FACTS — E-receipt management company
Engineering

Stack & conventions

Languages, frameworks, and defaults across E-FACTS repos

Stack & conventions

By surface

SurfaceStack (working)
BackendNode Fastify, PostgreSQL, Redis/BullMQ, Zod, Vitest
iOSSwiftUI (iOS 17+), SPM (e.g. GoogleSignIn), Keychain for tokens
Marketing websiteNext.js App Router
Internal docs (efacts-dev)Next.js App Router · Fumadocs · MDX · Tailwind v4 · next-themes

Historical Python FastAPI modules may appear in older trees (E-Facts V.1) — treat as reference unless a live service still runs them.

Docs site conventions

ConcernChoice
FrameworkNext.js App Router
DocsFumadocs + MDX under content/docs/
StylingTailwind v4 · tokens in src/app/global.css
Themelight / dark / system; dark = charcoal, not plum
MotionPrefer CSS/SMIL; framer-motion only when needed
AuthLightweight email/password cookie gate — see README

Cross-cutting conventions

TopicConvention
MoneyInteger cents — never float
API JSONsnake_case responses
Brand tokensdocs/Design.md + Design language pages
SecretsEnv only — never commit
Performance (web)Server Components first; lazy-load heavy client visuals; honor prefers-reduced-motion (see .cursor/rules/performance.mdc)

Naming

  • Product name in UI: E-FACTS / E-FACTS Docs
  • Domains: efacts.ca, dev.efacts.ca
  • Graphify tags: efacts_inc_2026, efacts_v1, efacts_backend, efacts_iosapp, efacts_website

On this page