--- description: 项目概述和技术栈信息 globs: alwaysApply: true --- # 项目概述 这是一个多租户的竞赛管理系统,采用前后端分离架构。 ## 技术栈 ### 后端 - **框架**: NestJS + TypeScript - **数据库**: MySQL 8.0 - **ORM**: Prisma - **认证**: JWT + RBAC (基于角色的访问控制) ### 前端 - **框架**: Vue 3 + TypeScript - **构建工具**: Vite - **UI 组件库**: Ant Design Vue - **状态管理**: Pinia - **路由**: Vue Router 4 - **表单验证**: VeeValidate + Zod ## 核心特性 - **多租户架构**: 数据完全隔离,每个租户使用独立的 tenantId - **RBAC 权限系统**: 基于角色的细粒度权限控制 - **动态菜单系统**: 基于权限的动态路由和菜单 - **审计日志**: 完整的操作审计追踪 ## 代码风格 - 使用 TypeScript 严格模式 - 使用 ESLint 和 Prettier 格式化代码 - 注释使用中文 - Git 提交信息使用中文,格式:`类型: 描述`