跳到主内容

B2B 客户门户

进行中

给客户用的 B2B 门户,后面接 NetSuite。2026 年 9 月部署到公司服务器,目前内部在用,还没开放给客户。

技术栈

.NET 10ASP.NET CoreEF CoreSQL ServerReact 19NetSuiteGitHub Actions

部署

  • 推 v* tag 才发版,而且 tag 必须和版本号一致、指向 main 上的提交;构建前先跑离线测试。
  • 迁移在服务启动前执行,用单独的迁移账号。迁移只加不删,因为回滚只回滚代码,不回滚表结构。
  • 应用外面有一个每 5 分钟跑一次的健康监控;发版时开维护窗口,免得误报。

网络

  • 应用只监听回环地址,挂在反向代理后面。管理和调试路径在代理上直接返回 404,应用自己也校验权限,两层都挡。
  • 必须走 HTTPS:会话 cookie 带 Secure,配置成非 Secure 时启动就失败。
  • 讨论过把数据库端口开到公网,否决了。

验证

  • 每个自定义的 CI 检查都用故意植入的违规样本验证过,结果找出三个永远不会失败的检查。
  • CI 会确认测试真的跑了:不许悄悄跳过,也不接受「0 个测试、退出码 0」。
  • CI 从不连真实的 ERP,全部用固定数据。

写入

  • 写 ERP 分两步:第一次请求强制试运行,先把要发的内容原样展示出来;幂等键用门户自己的订单号。
  • 切正式写入是单独的人工操作,发版不会顺带打开。
  • 先写 ERP,成功后才更新本地副本;本地镜像表只读,由不同的数据库账号保证。

怎么记录

  • 决策记录只追加:推翻了的决定留着,加一条说明。按文档自己的说法,最重要的是那张「被否决的方案」表。
  • 每个风险都配一个守着它的检查。有几段文档错了好几周,发现后没有悄悄改掉,而是留着,并写明错在哪里。
← 返回项目列表

其他项目

DataHub 数据中台进行中

公司内部的数据中台,用 C#/.NET 重写:原来分成三个服务的旧系统合成一个 ASP.NET Core 应用。2026 年 6 月上线,之后一直按 tag 发版。

.NET 10ASP.NET CoreDapper
企业制造数据分析平台进行中

基于 dbt + Databricks 的数据管道,采用 Medallion(Bronze→Silver→Gold→Mart)分层架构,将原始 ERP 数据转化为可直接用于分析的模型,支撑制造运营、库存、销售与人力效率报表。

dbtDatabricksUnity Catalog
jackdeng.cc — 个人主页站点进行中

你正在看的这个网站:前端和 Payload CMS 3 做在同一个 Next.js 16 应用里,数据放在 Supabase 的 Postgres,部署在 Vercel,中英双语。

Next.js 16Payload CMS 3PostgreSQL