# nestjs-react-starter **Repository Path**: yys233/nestjs-react-starter ## Basic Information - **Project Name**: nestjs-react-starter - **Description**: 基于bun workspace的 全栈项目starter,实现了常见的登录鉴权,用户管理,菜单管理,权限管理等功能 - **Primary Language**: TypeScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-18 - **Last Updated**: 2026-10-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # nestjs-react-starter NestJS + React 的 monorepo 微服务起步模板。 ## 技术栈 Bun · NestJS · Drizzle · Postgres · Vite · React · Ant Design · TanStack Query ## 目录 ``` apps/backend/gateway # 对外网关,转发 /api/* apps/backend/system-service # 产品业务(鉴权、系统模块) apps/backend/sample-service # 写法示范,可整服务删掉 apps/frontend/web # 前端 packages/ # 共享包(契约、server-infra、api-client 等) infra/docker/ # Postgres / Redis ``` `sample-*` 只当对照,真实业务写 `system-service` 和前端非 `features/sample` 目录。 ## 环境要求 - Bun `1.2.22`(见根 `package.json` 的 `packageManager`) - Docker(起 Postgres / Redis) ## 快速启动 ```bash cp .env.example .env bun install bun run infra:up bun run db:migrate bun run dev ``` 起来之后: | 服务 | 地址 | | ------ | ----------------------------------- | | 网关 | http://localhost:3000 | | 前端 | http://localhost:5173 | | system | http://localhost:3001(一般走网关) | | sample | http://localhost:3002(一般走网关) | 前端默认打网关:`VITE_API_BASE_URL=http://localhost:3000/api`。 演示账号(`system_users` 空表时自动 seed): - `admin` / `admin123` - `test` / `123456` ## 常用命令 ```bash bun run dev # packages 构建后并行起 system + sample + gateway + web bun run dev:backend # 只起后端三个服务 bun run infra:up # Postgres + Redis bun run infra:down bun run db:migrate # system + sample 迁移 bun run typecheck bun run test bun run lint bun run build ``` 单独起某个服务:`bun run dev:system` / `dev:sample` / `dev:gateway` / `dev:web`。 ## 环境变量 复制 `.env.example` 即可本地跑。需要留意的几项: - `DATABASE__URL` — system / sample / Drizzle 共用 - `REDIS__URL` — system-service 权限快照缓存、sample-service 样板缓存 - `SYSTEM__JWT_SECRET` / `SYSTEM__JWT_REFRESH_SECRET` — 生产必须换掉 - `SYSTEM__SERVICE_URL` / `SAMPLE__SERVICE_URL` — 网关转发目标 - `VITE_API_BASE_URL` — 前端 API 根路径 变量细节以 `.env.example` 注释为准。 ## 数据库约定 同库 `starter`,按服务分 PG schema:`system` / `sample`;表名保留模块前缀(`system_users`、`sample_orders`)。 改 schema 后在对应服务目录生成迁移(`--name` 用短语义名),补齐列 comment,再回根目录执行 `bun run db:migrate`。细则见 `.context/coding-standards.md`;服务内说明见各自 README。 ## 更多 - `apps/backend/system-service/README.md` — 鉴权与系统库 - `apps/backend/sample-service/README.md` — A/B/C 样板模块 - `.context/README.md` — 规范文档索引(架构 / 编码 / 前端抽象 / 后台风格)