纯代码重构 MBA 培训管理系统 (一):架构选型与全栈脚手架搭建

目录

  • 前言
  • [一、 系统全貌与架构选型](#一、 系统全貌与架构选型)
  • [二、 在 Trae 中初始化项目脚手架](#二、 在 Trae 中初始化项目脚手架)
  • [三、 安装核心依赖](#三、 安装核心依赖)
  • [四、 核心架构:构建目录树](#四、 核心架构:构建目录树)
  • [五、 跑通第一行代码](#五、 跑通第一行代码)

前言

本教程将带你从零开始,使用现代主流技术栈构建一个完整的 MBA 培训管理系统。我们将涵盖系统管理、CRM 客户管理、课程管理等核心功能模块。

通过本教程,你将掌握如何使用 Next.js + Prisma + PostgreSQL 构建生产级的全栈应用,从数据库设计到前端界面,从权限控制到业务逻辑,完整地走一遍现代 Web 开发的完整流程。

一、 系统全貌与架构选型

我们将要构建的,不仅仅是一个增删改查的后台,而是一个包含L2C(线索到现金)完整流转、细粒度 RBAC 权限控制、多端适配的现代 Web 应用。

为了支撑这个目标,不引入过多的复杂度,我们采用全栈一体化架构

核心技术栈:

  • 核心框架: Next.js (App Router) ------ 提供极致的渲染性能与统一的前后端路由体验。
  • 数据引擎: PostgreSQL + Prisma ORM ------ 强类型数据库与开箱即用的关系建模,完美契合 CRM 业务。
  • UI 基建: Tailwind CSS + shadcn/ui ------ 不被庞大组件库绑架,拥有像素级的界面掌控力。
  • 身份认证: NextAuth.js ------ 标准化处理登录态与基础鉴权。

二、 在 Trae 中初始化项目脚手架

工欲善其事,必先利其器。本次开发我们将全程在 Trae中完成。

在电脑磁盘的目录中新建一个项目目录

打开cmd,我们使用 Next.js 官方提供的脚手架一键生成项目。

在终端中输入以下命令:

bash 复制代码
npx create-next-app@latest mba-system

三、 安装核心依赖

初始化成功后,需要按照项目必要的依赖型。打开我们的trae,点击文件-》打开文件夹,选择我们的工程目录

点击导航栏的终端,点击新建终端

依次在终端中执行一下命令,来安装依赖

1. 安装 Prisma 与 PostgreSQL 驱动

bash 复制代码
npm install prisma --save-dev
npm install @prisma/client
# Prisma 7+ 需要使用适配器连接 PostgreSQL
npm install @prisma/adapter-pg pg
npm install -D @types/pg

注:本地需要已安装并启动 PostgreSQL 数据库。

2. 安装身份认证与密码加密模块

bash 复制代码
npm install next-auth bcryptjs
npm install @types/bcryptjs --save-dev

3. 初始化 shadcn/ui

这套 UI 方案无需安装庞大的 npm 包,而是将代码直接注入到项目中。

bash 复制代码
npx shadcn@latest init

四、 核心架构:构建目录树

依赖安装好了之后,需要构思一下文件夹。目前的文件夹规划如下

text 复制代码
/src
  /app                # 【路由与 UI 层】只负责"长什么样"和接收请求
    /api              # 提供给外部或客户端的接口
    /(dashboard)      # 系统后台的页面路由
    /login            # 登录页面

  /components         # 【公共 UI 层】
    /ui               # shadcn 自动生成的原子组件 (Button, Input等)
    /shared           # 跨业务模块的通用组件 (如顶部导航、侧边栏)

  /modules            # 【🌟 核心业务领域层】业务逻辑的唯一归属地
    /auth             # 登录、认证相关逻辑
    /lead             # 线索领域:lead.schema.ts(校验), lead.service.ts(逻辑), lead.actions.ts(前后端桥梁)
    /customer         # 客户领域
    /opportunity      # 商机领域

  /core               # 【底层基建层】
    rbac.ts           # 角色与权限拦截逻辑
    exceptions.ts     # 全局异常与错误码统一定义

  /lib                # 【第三方工具实例】
    prisma.ts         # Prisma 单例连接池
    utils.ts          # 通用帮助函数 (如 cn 拼接类名)

默认安装后,app目录是在根目录,我们先创建一个src文件夹

将app、components、lib文件夹移入到src下,修改一下tsconfig.json 的 paths,改为

bash 复制代码
"paths": {
  "@/*": ["./src/*"]
}

五、 跑通第一行代码

在 Trae 终端中,启动开发服务器测试我们的成果:

bash 复制代码
npm run dev

打开浏览器访问 http://localhost:3000,看到 Next.js 的初始页面,说明全栈脚手架已稳稳落地。

相关推荐
LabVIEW开发5 小时前
LabVIEW QMH 队列消息处理架构
架构·labview·labview知识·labview功能·labview程序
rising start7 小时前
二、全面理解MySQL架构
mysql·架构
麦客奥德彪7 小时前
Android Skills
架构·ai编程
candyTong7 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
沪漂阿龙9 小时前
面试题详解:智能客服 Agent 系统全栈拆解——Rasa Pro、对话管理、意图识别、GraphRAG、Qwen 与 RAG 优化实战
人工智能·架构
数据法师10 小时前
MotrixNext:接棒经典 Motrix,用 Tauri 2+Rust 重构的下一代开源下载神器
重构·rust·开源
辰海Coding10 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构
云边云科技_云网融合10 小时前
企业大模型时代的网络架构五层演进:从连接到智能的范式重构
网络·重构·架构
Yunzenn11 小时前
字节最新研究cola-DLM第 01 章:语言生成的三次范式之争 —— 从 RNN 到 AR 到扩散
架构·github
她的男孩11 小时前
从零搭一个企业后台,为什么我把能力拆成 Starter 和 Plugin
java·后端·架构