项目介绍 • 核心功能 • 技术栈 • 系统架构 • 快速开始 • API 文档 • 贡献指南
CollabU 是一个专为学生团队设计的协作与项目管理平台。与传统的垂直管理工具不同,CollabU 采用扁平化、民主化的协作模式,旨在打破层级壁垒,激发团队成员的主动性和创造力。
在校园项目、比赛组队或社团活动中,CollabU 让每个成员都能平等地参与任务拆解、认领和进度管理,实现真正的全员协作。
- ❌ 告别传统层级: 不再是单纯的“发布命令-执行命令”。
- ✅ 拥抱扁平协作: 强调“共同拆解-自由认领-全员参与”。
- 👥 扁平化团队管理: 所有成员权限平等,均可邀请成员、创建项目、管理任务。
- 🧩 协同任务拆解: 支持无限层级子任务,团队共同将大目标拆解为可执行的小任务。
- 🙋 自由认领机制: 创新的“任务市场”模式,成员可主动认领感兴趣的任务。
- 📊 智能进度汇总: 父任务进度自动根据子任务完成情况计算,实时掌握项目全貌。
- 💬 多维任务交流:
- 异步讨论: 任务内置评论区,支持富文本和文件附件。
- 实时沟通: 针对具体任务的实时聊天室 (WebSocket)。
- 动态通知: 全方位的动态时间线和即时通知系统。
- 📅 可视化甘特图: 直观展示任务依赖与时间规划,支持拖拽交互。
- 📱 多端支持: 提供 Web 端管理后台及移动端 (Android/iOS/HarmonyOS) App。
- Framework: Python Flask
- Database: SQLite (Dev) / MySQL (Prod)
- ORM: SQLAlchemy + Flask-Migrate
- Auth: Flask-JWT-Extended
- Realtime: Flask-SocketIO (WebSocket)
- Framework: Vue 3 + Vite
- UI Library: Element Plus
- State Mgmt: Pinia
- Gantt Chart: @lee576/vue3-gantt
- Network: Axios + Socket.io-client
- Framework: Flutter (Dart 3.6+)
- Platforms: Android, iOS, HarmonyOS (OpenHarmony)
- Routing: Go Router
- State Mgmt: Provider
- Network: Dio
- Features: QR Code Scanning, File Picker, Image Picker
graph TD
User["用户 (Web/Mobile)"] -->|HTTP/REST| Nginx["反向代理/网关"]
User -->|WebSocket| Nginx
subgraph "Backend Server"
Nginx --> Flask["Flask API Server"]
Flask -->|ORM| DB[("Database")]
Flask -->|SocketIO| Redis[("Redis - Optional")]
end
subgraph "Clients"
Web["Web Client (Vue3)"]
App["Mobile App (Flutter)"]
end
- Python 3.8+
- Node.js 18+ (推荐)
- Flutter SDK 3.6+ (如需运行移动端)
- MySQL 8.0+ (生产环境推荐)
cd backend
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境 (Windows)
.\venv\Scripts\activate
# 激活虚拟环境 (macOS/Linux)
# source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 初始化数据库
flask db upgrade
# 启动服务 (默认端口 5000)
# 开发模式
python run.pycd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev访问: http://localhost:5173
确保已安装 Flutter 环境。
cd mobile
# 获取依赖
flutter pub get
# 运行 (连接设备或模拟器)
flutter runCollabU/
├── backend/ # Python Flask 后端
│ ├── app/ # 应用代码 (Routes, Models, Services)
│ ├── migrations/ # 数据库迁移脚本
│ └── ...
├── frontend/ # Vue 3 前端
│ ├── src/ # 页面组件, Store, API 封装
│ └── ...
├── mobile/ # Flutter 移动端
│ ├── lib/ # Dart 代码 (Screens, Providers, Widgets)
│ ├── ohos/ # HarmonyOS 工程配置
│ ├── android/ # Android原生配置
│ └── ios/ # iOS原生配置
└── ...
新建项目 - 选择印尼 - 从GitHub仓库部署 - 选择你fork的仓库
随后点击服务 - 设置 - 根目录 填入 /backend
在zeabur准备好你的image之后, 点击服务状态中的 - 命令 - 输入flask db upgrade 回车
点击 网络 - 公网访问 - 生成域名(自定域名) 配置你希望使用的域名
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
本项目采用 GPL-3.0 许可证 - 详见 LICENSE 文件