A lightweight three-tier project management system: Project → Subproject → Task, with role-based access control and user management.
三级树状项目管理系统:项目 → 子项目 → 任务,支持角色权限控制与用户管理。
| Layer | Technology |
|---|---|
| Backend | Python 3.9+, FastAPI 0.110, SQLAlchemy 2.0, SQLite, JWT |
| Frontend | React 18, Ant Design 5, React Router v6, Vite, axios |
cd backend
# Install dependencies (requires Python 3.9+)
# 安装依赖(需要 Python 3.9+)
pip3 install -r requirements.txt
# Initialize database and create admin account
# 初始化数据库并创建管理员账号
python3 -m app.init_db
# Start dev server on :8000
# 启动开发服务器(监听 :8000)
python3 -m uvicorn app.main:app --reload --port 8000cd frontend
# Install dependencies (requires Node.js 18+)
# 安装依赖(需要 Node.js 18+)
npm install
# Start dev server on :3000
# 启动开发服务器(监听 :3000)
npm run dev| URL | Description |
|---|---|
| http://localhost:3000 | Frontend app / 前端应用 |
| http://localhost:8000/docs | Swagger API docs / API 文档 |
| Username | Password | Role |
|---|---|---|
| admin | admin123 | Super admin / 超级管理员 |
The
adminaccount's role and status cannot be modified or deleted by other admins.
admin账号为超级管理员,其角色和状态不可被其他管理员修改或删除。
Backend reads from backend/.env:
SECRET_KEY=your-secret-key-change-in-production # Required in production / 生产环境必须替换
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_HOURS=24
DATABASE_URL=sqlite:///./litesquad.db- Registration / login (JWT, 24h expiry) / 注册 / 登录(JWT 认证,24 小时有效)
- New users are disabled by default; admin must enable them / 新注册用户默认禁用,须管理员启用
- Roles:
adminanduser/ 角色:admin(管理员)和user(普通用户) - Personal settings: change email and password / 个人设置:修改邮箱、修改密码
- Generate project progress report with customizable templates / 生成项目进展汇报,支持自定义模板
- Projects: admin-only create/delete; admin or owner can edit / 项目:仅管理员可创建 / 删除;管理员或负责人可编辑
- Subprojects: any active user can create; admin or owner can edit/delete / 子项目:所有已激活用户可创建;管理员或负责人可编辑 / 删除
- Tasks: any active user can create; admin or owner can edit/delete / 任务:所有已激活用户可创建;管理员或负责人可编辑 / 删除
- All entities support: name, status, assignee, notes, start date, end date / 均支持:名称、状态、负责人、进展说明、开始时间、结束时间
- Status values:
pending/in_progress/testing/completed/paused/closed
- List all users with search and pagination / 查看所有用户列表,支持搜索、分页
- Toggle user role (admin ↔ user) / 切换用户角色
- Enable / disable user accounts / 启用 / 禁用用户账号
- Delete users (rejected if associated data exists) / 删除用户(有关联数据时拒绝删除)
.
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI entry point / 应用入口
│ │ ├── database.py # SQLAlchemy engine / 数据库引擎
│ │ ├── models.py # ORM models / ORM 模型
│ │ ├── schemas.py # Pydantic schemas / 请求响应 Schema
│ │ ├── auth.py # JWT & bcrypt / 认证模块
│ │ ├── init_db.py # DB init script / 数据库初始化
│ │ └── routers/ # Route handlers / 路由模块
│ ├── requirements.txt
│ └── .env
└── frontend/
├── src/
│ ├── main.jsx # Entry point / 应用入口
│ ├── App.jsx # Route config / 路由配置
│ ├── pages/ # Page components / 页面组件
│ ├── components/ # Shared components / 公共组件
│ ├── services/ # API wrappers / API 封装
│ └── utils/auth.js # Token utilities / Token 工具
├── vite.config.js # Dev proxy: /api → :8000
└── package.json
Apache-2.0 © 2026 fingki.li@gmail.com