RT Stack 开源项目教程

RT Stack 开源项目教程

rt-stack Lightweight turborepo with modular components, shared configs, containerised deployments and 100% type-safety. rt-stack 项目地址: https://gitcode.com/gh_mirrors/rt/rt-stack

1. 项目介绍

RT Stack 是一个现代化且轻量级的全栈项目模板,基于 turborepo,拥有模块化组件、共享配置、容器化部署和 100% 类型安全性的特点。它采用了一系列现代技术栈,包括 React、Tanstack、Hono、Better Auth、Drizzle ORM 等,旨在为开发者提供一个开箱即用的全栈开发框架。

2. 项目快速启动

环境准备

确保你的系统上安装了以下工具:

  • Node.js(版本 22+)
  • pnpm(版本 10+)
  • Postgres 数据库(可以通过 Docker 或 Podman 容器运行)

创建项目

使用以下命令创建一个基于 RT Stack 模板的新项目:

pnpm dlx create-turbo@latest -m pnpm -e https://github.com/nktnet1/rt-stack YOUR_PROJECT

YOUR_PROJECT 替换为你项目的名称。

项目结构

创建项目后,项目结构大致如下:

your-project/
├── apps/
│   ├── web/
│   └── server/
├── packages/
│   ├── api/
│   ├── auth/
│   ├── db/
│   └── ui/
└── tools/

安装依赖

进入项目目录并安装所有依赖:

cd YOUR_PROJECT
pnpm install

配置环境变量

复制 .env.example 文件为 .env 文件,并配置数据库连接和其他所需的环境变量:

pnpm env:copy-example

启动数据库

在后台启动一个本地 Postgres 实例(例如使用 Docker):

docker compose up db --detach

推送数据库模式

将 drizzle 模式推送到你的数据库:

pnpm db:push

运行项目

现在可以启动所有应用:

pnpm dev

默认情况下,以下 URL 可用:

  • Web 应用:http://localhost:8085
  • 后端服务器:http://localhost:3035

3. 应用案例和最佳实践

工作流自动化

使用 GitHub Actions 或 GitLab CI/CD 实现自动化工作流,确保代码质量并简化部署流程。

代码质量

  • 使用 TypeScript 进行类型检查。
  • 使用 ESLint 和 Prettier 保持代码风格一致。

模块化开发

  • 利用 turborepo 的特性,实现独立包的模块化开发。
  • 使用 pnpm --filter=<name> 命令来单独操作包。

用户界面

  • 使用 Tailwind CSS 和 Shadcn UI 组件库构建响应式和美观的用户界面。
  • 通过 pnpm ui-add 命令添加新的 Shadcn UI 组件。

身份验证

  • 使用 Better Auth 实现用户注册和登录功能。

4. 典型生态项目

API 服务

使用 RT Stack 中的 api 包来构建基于 trpc 的 API 服务,实现高效的 API 请求处理。

数据库迁移

通过 db 包管理数据库模式和迁移,确保数据模型的持续更新。

通用工具库

tools 目录中创建通用的工具库,以便在整个项目中复用。

rt-stack Lightweight turborepo with modular components, shared configs, containerised deployments and 100% type-safety. rt-stack 项目地址: https://gitcode.com/gh_mirrors/rt/rt-stack

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

娄筝逸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值