---
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 提交信息使用中文，格式：`类型: 描述`
