技术栈
前端技术栈
- 核心框架
- React 18:用于构建用户界面,支持组件化开发。
- TypeScript:为JavaScript提供静态类型支持,提升代码的可维护性和开发体验。
- Vite:快速开发和构建工具,优化资源加载和开发速度。
- 路由与状态管理
- React Router(可选):用于前端路由管理,实现页面跳转。
- HTTP请求与API管理
- Axios:用于发起HTTP请求,与后端服务交互。
- CSS与样式处理
- Tailwind CSS:实用性优先的CSS框架,用于快速构建响应式页面。
- PostCSS:支持CSS的预处理和自动添加浏览器前缀。
- 开发和代码质量管理
- ESLint + eslint-plugin-react-hooks:用于代码格式检查,确保React组件的最佳实践。
- TypeScript ESLint:用于TS项目的代码检查和规范管理。
- 构建与开发工具
- Vite:支持开发服务器和生产构建。
- vite.config.ts:配置文件用于自定义Vite的行为。
后端技术栈
- 核心框架与语言
- Java 17:用于开发后端逻辑。
- Spring Boot 3:构建后端RESTful API服务,简化配置和开发。
- 数据库与持久化
- PostgreSQL:关系型数据库,用于存储用户、日程和课程数据。
- Spring Data JPA:简化数据库操作,与PostgreSQL集成。
- Spring Boot Starter JDBC:用于执行原生SQL查询。
- 缓存
- Redis:用于存储会话数据和缓存,提升系统性能。
- 邮件服务
- Spring Boot Starter Mail:实现邮件发送功能(如用户通知、日程提醒)。
- 认证与安全
- Spring Security + JWT:实现身份认证和权限管理。
- Thymeleaf + Spring Security Extras:在视图中集成权限控制。
- 业务支持与工具
- Lombok:减少Java代码中的样板代码(如getter/setter)。
- AOP(Aspect-Oriented Programming):用于日志和权限控制。
- com.x-lf.utility.general-utils:自定义工具库,用于辅助后端开发。
- 测试框架
- JUnit 5 + Spring Security Test:用于单元测试和集成测试。
数据库与缓存
- PostgreSQL:关系型数据库,用于存储用户、日程、课程表等数据。
开发和部署工具
- 版本控制
- Git + GitHub:用于版本控制和代码托管。
- 构建工具与依赖管理
- Maven:管理后端依赖,并执行构建任务。
- 容器化与部署
- Docker:用于容器化部署,保证环境一致性。
- Nginx:作为反向代理服务器,支持静态资源托管和API请求转发。
- 持续集成与部署(CI/CD)
- GitHub Actions / Jenkins:实现自动化构建、测试和部署。
脚本与配置管理
- 前端脚本
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"lint": "eslint .",
"preview": "vite preview"
}
- dev:启动开发服务器。
- build:构建生产环境资源。
- lint:运行ESLint检查代码格式。
-
preview:预览生产构建的页面。
-
后端依赖管理(Maven示例)
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
总结
层级 | 技术栈 |
---|---|
前端 | React, Vite, Tailwind CSS, Axios |
后端 | Spring Boot, Redis, JPA, Lombok |
数据库 | PostgreSQL, Redis |
部署 | Docker, Nginx, GitHub Actions |
开发工具 | Git, Maven, IntelliJ IDEA, Apifox |
这套技术栈确保系统在开发、测试、部署各个阶段的高效运行,并为前后端的协同开发和集成提供了良好的支持。