Skip to content

Smart ERP Next v0.3.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 12:01

Smart ERP Next v0.3.0

Quick Start

docker compose up -d
# Web: http://localhost:3457
# Login: admin@smarterp.vn / admin123

Features

  • wire RateLimitHeaders + SlowQueryLogger interceptors, add API key Swagger scheme|Lê Trung Hiếu (05359bb)
  • wire LokiLogger into RequestLoggingInterceptor for structured HTTP logging|Lê Trung Hiếu (55e9db5)
  • CodeQL v4, merge NestJS Dependabot, healthcheck alignment|Lê Trung Hiếu (7d6ae5c)
  • auth flow integration tests, OpenAPI spec generator|Lê Trung Hiếu (133a397)
  • API key throttling, scheduler_log indexes, compression|Lê Trung Hiếu (b2a898c)
  • scheduler monitoring, Sentry wiring, scheduler_log schema|Lê Trung Hiếu (783ffd5)
  • SECURITY.md, Docker image optimization, docker image tests|Lê Trung Hiếu (9423f68)
  • Makefile, VS Code settings, deprecation header middleware|Lê Trung Hiếu (b7ac5cf)
  • backup docs, telemetry/aggregation integration tests, load test auth|Lê Trung Hiếu (900b8b1)
  • outbox/feature-flags integration tests, Swagger docs on orders|Lê Trung Hiếu (ceed236)
  • DB pool config, load test baseline, Sentry config, env vars|Lê Trung Hiếu (c153e95)
  • RequestId middleware wired, ApiTags for core routes, REQUEST_TIMEOUT|Lê Trung Hiếu (d2ffcf9)
  • timeout middleware, WS shutdown wiring, OCI labels, healthcheck|Lê Trung Hiếu (6b5b36c)
  • CORS config, graceful shutdown wiring, envelope tests, migration test|Lê Trung Hiếu (9ad09af)
  • rate limit headers, security audit, slow query log, Trivy CI|Lê Trung Hiếu (0e5f7e8)
  • FF caching, API key tracking, sanitization, WS shutdown|Lê Trung Hiếu (5692d74)
  • env validation, dependabot, health check coverage|Lê Trung Hiếu (38d66b3)
  • SBOM release, telemetry in orders, error boundaries for all routes|Lê Trung Hiếu (edd2e20)
  • test factories, loading states for all routes, aggregation service|Lê Trung Hiếu (dceaa00)
  • Loki logger, alert service, SBOM, telemetry, env parity|Lê Trung Hiếu (7e3a6c6)
  • outbox pattern, graceful shutdown, backup script, archival + secrets docs|Lê Trung Hiếu (1524b6e)
  • feature flags, 2FA/TOTP, visual regression, accessibility, docs|Lê Trung Hiếu (85476fa)
  • contract tests, socket reconnection, ownership matrix, forecast docs|Lê Trung Hiếu (2b22cbe)
  • audit log interceptor, API key management, api_keys schema|Lê Trung Hiếu (460648c)
  • error codes, idempotency, loading/error UX, SEO metadata, QA infra|Lê Trung Hiếu (c52360e)
  • CSP headers, global rate limiting, pnpm audit CI, remove unused bcrypt|Lê Trung Hiếu (f7900c9)
  • CI — pre-build with tsc, run compiled output directly|Lê Trung Hiếu (61788a2)
  • CI — pre-build API dist, wait 10 min for server startup|Lê Trung Hiếu (0ddc4f7)
  • CI — manual server startup with health check wait loop|Lê Trung Hiếu (db84f34)
  • add Smart-ERP-Next ECC bundle (#7)|ecc-tools[bot] (6cdd289)

Bug Fixes

  • SBOM script — remove yaml dependency, parse lockfile manually|Lê Trung Hiếu (6100384)
  • SBOM script — remove TS 'as any' syntax for Node.js compat|Lê Trung Hiếu (118bcc9)
  • Docker — copy .next/static to standalone output for JS hydration|Lê Trung Hiếu (853acdd)
  • Docker — full flow working (migrations, seed, API, Web)|Lê Trung Hiếu (3158ab6)
  • Docker build — resolve overlayfs symlink issue, fix tsconfig paths, build succeeds|Lê Trung Hiếu (5f35c94)
  • Docker — frozen-lockfile, missing test-utils, duplicate labels, build order|Lê Trung Hiếu (8027ffd)
  • build — update tsconfig to node16 moduleResolution for exports field compat|Lê Trung Hiếu (4d497a7)
  • critical — remove duplicate package.json entries in apps/web (merge artifact)|Lê Trung Hiếu (7a72807)
  • rebuild corrupted pnpm-lock.yaml (duplicated mapping key)|Lê Trung Hiếu (8b2127c)
  • remove broken CodeQL SAST workflow — default CodeQL already passes|Lê Trung Hiếu (139c555)
  • drizzle-orm@0.45.2 lockfile alignment, remove ws direct dep, fix deploy-staging test|Lê Trung Hiếu (34d92b0)
  • CodeQL SAST — remove security-and-quality queries (incompatible with v4 SARIF)|Lê Trung Hiếu (be1d0b5)
  • merge ALL remaining Dependabot PRs — 6 major bumps (eslint, next, testing-library, antfu, postgres, node)|Lê Trung Hiếu (7f38e9b)
  • merge 3 more Dependabot PRs (turbo, @types/express, toml-eslint-parser)|Lê Trung Hiếu (2c7c4b8)
  • merge 5 Dependabot PRs, fix merge conflicts, rebuild database package|Lê Trung Hiếu (1706ec3)
  • CodeQL SAST SARIF upload — remove custom output/category|Lê Trung Hiếu (0732c4a)
  • use vars.STAGING_ENABLED + environment for deploy-staging gating|Lê Trung Hiếu (ba3bf30)
  • gate deploy-staging on STAGING_HOST secret to prevent false CI failures|Lê Trung Hiếu (0bdec1d)
  • add CodeQL autobuild step to fix analyze failure|Lê Trung Hiếu (b84f857)
  • update playwright config test for no-op webServer commands|Lê Trung Hiếu (0d0c191)
  • CI — increase API wait to 20 min, no-op Playwright webServer|Lê Trung Hiếu (fce4e22)
  • CI — set PORT=3456 so API listens on health check port|Lê Trung Hiếu (f261810)
  • capture Playwright stdout and server logs on failure|Lê Trung Hiếu (9895db1)
  • pre-build with root node_modules/.bin/tsc (avoids pnpm bin resolution) - pnpm --filter can't find tsc for accounting package (exit code 2) - Direct node_modules/.bin/tsc path works regardless of linker mode|Lê Trung Hiếu (92b61ae)
  • use npx tsc for pre-build (handles pnpm isolated linker)|Lê Trung Hiếu (c051161)
  • CI — pre-build packages with direct tsc path, simplify dev script|Lê Trung Hiếu (da2f94b)
  • CI — manual server startup bypassing Playwright webServer|Lê Trung Hiếu (2596286)
  • CI — restore DB/accounting pre-build, use absolute symlink paths|Lê Trung Hiếu (ade81e4)
  • CI — create @smart-erp/* symlinks before Playwright|Lê Trung Hiếu (e80a39c)
  • dev — remove redundant DB/accounting pre-build steps|Lê Trung Hiếu (53330ca)
  • CI — remove --shamefully-hoist (breaks pnpm script resolution)|Lê Trung Hiếu (02e19c0)
  • E2E — remove inventory/warehouse inserts (tables not in schema)|Lê Trung Hiếu (a43c002)
  • E2E — add missing warehouse code field (NOT NULL constraint)|Lê Trung Hiếu (7a20b88)
  • E2E — add missing price field, fix core-journey UUIDs|Lê Trung Hiếu (e332998)
  • E2E forecast test — use valid UUID productId|Lê Trung Hiếu (411186e)
  • E2E — use valid UUIDs for forecast/inventory-recommendation tests|Lê Trung Hiếu (a937d59)
  • CI — pre-build API, use start:prod for instant server startup|Lê Trung Hiếu (9cd543f)
  • skip dist test when accounting package not pre-built|Lê Trung Hiếu (2ff6942)
  • Docker — use tsc for build (avoids nest build wrong relative paths)|Lê Trung Hiếu (7fc9a9d)
  • Docker — use tsc instead of nest build for correct module paths|Lê Trung Hiếu (f9c3f64)
  • CI — pnpm install --shamefully-hoist for flat node_modules|Lê Trung Hiếu (355f679)
  • CI — pnpm install --shamefully-hoist for flat node_modules|Lê Trung Hiếu (93b5d85)
  • CI — nest build + symlinks for correct module resolution|Lê Trung Hiếu (d8bfaef)
  • CI — use npx tsx for API server (handles tsconfig paths natively)|Lê Trung Hiếu (b54f710)
  • CI — symlink workspace packages for runtime module resolution|Lê Trung Hiếu (39ee82e)
  • restore CI to dev command with 300s timeout|Lê Trung Hiếu (1f3a2c6)
  • CI — use correct relative path for node command from e2e/ - Playwright runs commands relative to e2e/, not project root|Lê Trung Hiếu (af841a5)
  • CI — build once with tsc, run directly with node|Lê Trung Hiếu (b2c6c44)
  • CI — pre-build database+accounting, set 600s server timeout|Lê Trung Hiếu (b103807)
  • CI — increase webServer timeout to 300s, use nest start --watch|Lê Trung Hiếu (463c7c3)
  • register tsconfig-paths at runtime for start:prod|Lê Trung Hiếu (106defa)
  • CI — use tsc instead of nest build for correct path resolution|Lê Trung Hiếu (fb82652)
  • CI — increase Playwright webServer timeout to 300s|Lê Trung Hiếu (7068909)
  • CI — keep dev command, add pre-build step for faster server startup|Lê Trung Hiếu (0a5d3fe)
  • update Playwright config test for start:prod command|Lê Trung Hiếu (ae88df6)
  • CI — pre-build API, use start:prod for faster web E2E startup|Lê Trung Hiếu (ad7a939)

Refactors

  • domain module boundaries — 48 flat modules → 12 domain modules|Lê Trung Hiếu (05bc5b4)
  • accounting — change module from Node16 to CommonJS for clarity|Lê Trung Hiếu (847cce8)

Documentation

  • update CONTRIBUTING.md + DEVELOPMENT.md with Makefile, new packages, quality gates|Lê Trung Hiếu (e692fff)
  • update GAPS.md to 181|Lê Trung Hiếu (2ca7dc7)
  • update GAPS.md to 179 completed|Lê Trung Hiếu (e3b680a)
  • update GAPS.md to 174 completed|Lê Trung Hiếu (4f07f46)

Chores

  • bump @types/supertest from 6.0.3 to 7.2.0|dependabot[bot] (9ea8f92)
  • bump axios from 1.16.1 to 1.18.1|dependabot[bot] (e78070f)
  • bump nodemailer from 9.0.1 to 9.0.3|dependabot[bot] (c8679f6)
  • bump the eslint group across 1 directory with 22 updates|dependabot[bot] (77b486d)
  • bump @next/bundle-analyzer from 15.5.19 to 16.2.9|dependabot[bot] (bfb60b5)
  • bump i18next from 23.16.8 to 26.3.4|dependabot[bot] (f9081c2)
  • bump @antfu/eslint-config from 2.27.3 to 9.1.0|dependabot[bot] (dabd7ae)
  • bump js-yaml from 3.14.2 to 3.15.0|dependabot[bot] (68cfc55)
  • bump next from 15.2.6 to 16.2.9|dependabot[bot] (2ff1af0)
  • bump @testing-library/react from 14.3.1 to 16.3.2|dependabot[bot] (e61cfb4)
  • bump cache-manager from 5.7.6 to 7.2.9|dependabot[bot] (b6f0897)
  • bump uuid from 14.0.0 to 14.0.1|dependabot[bot] (f93b02e)
  • bump prettier from 3.8.3 to 3.9.4|dependabot[bot] (e70737d)
  • bump autoprefixer from 10.5.0 to 10.5.2|dependabot[bot] (c0dd80e)
  • bump turbo from 2.9.14 to 2.10.1|dependabot[bot] (b361a9f)
  • bump @types/express from 4.17.25 to 5.0.6|dependabot[bot] (4a18adb)
  • bump tsx from 4.22.2 to 4.22.4|dependabot[bot] (4d0e676)
  • bump recharts from 3.8.1 to 3.9.1|dependabot[bot] (15cda37)
  • bump jspdf-autotable from 5.0.7 to 5.0.8|dependabot[bot] (7fb41c6)
  • bump postcss from 8.5.15 to 8.5.16|dependabot[bot] (adf3943)
  • bump toml-eslint-parser from 0.10.1 to 1.0.3|dependabot[bot] (0efe44b)
  • bump the react group across 1 directory with 6 updates|dependabot[bot] (0d520da)
  • bump the testing group across 1 directory with 4 updates|dependabot[bot] (a76a4cf)
  • bump the nestjs group with 14 updates|dependabot[bot] (3880c07)
  • update next@15.5.18, drizzle-orm@0.45.2 — fix high-severity vulns|Lê Trung Hiếu (385e974)
  • bump postgres from 16-alpine to 18-alpine|dependabot[bot] (a071616)
  • bump node from 22-alpine to 26-alpine|dependabot[bot] (f56fffa)
  • CI — revert to dev command (start:prod needs further debugging)|Lê Trung Hiếu (cd87974)
  • bump the npm_and_yarn group across 5 directories with 3 updates|dependabot[bot] (58ce5cc)

Other

  • security: fix SQL injection risks in report-engine + sync service|Lê Trung Hiếu (6acb702)
  • Add i18n parity gate|hieuckappstore-hash (28d186a)
  • merge: PR #5 - revert experimental Docker changes, keep stable migration|Lê Trung Hiếu (4748c47)

266 files changed, 12613 insertions(+), 2783 deletions(-)
Generated from 124 commits