Skip to content

fingki/litesquad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LiteSquad

A lightweight three-tier project management system: Project → Subproject → Task, with role-based access control and user management.

三级树状项目管理系统:项目 → 子项目 → 任务,支持角色权限控制与用户管理。


Tech Stack / 技术栈

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

Quick Start / 快速启动

Backend / 后端

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 8000

Frontend / 前端

cd frontend

# Install dependencies (requires Node.js 18+)
# 安装依赖(需要 Node.js 18+)
npm install

# Start dev server on :3000
# 启动开发服务器(监听 :3000)
npm run dev

Access / 访问

URL Description
http://localhost:3000 Frontend app / 前端应用
http://localhost:8000/docs Swagger API docs / API 文档

Default Account / 默认账号

Username Password Role
admin admin123 Super admin / 超级管理员

The admin account's role and status cannot be modified or deleted by other admins.

admin 账号为超级管理员,其角色和状态不可被其他管理员修改或删除。


Environment Variables / 环境变量

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

Features / 功能清单

Users & Permissions / 用户与权限

  • Registration / login (JWT, 24h expiry) / 注册 / 登录(JWT 认证,24 小时有效)
  • New users are disabled by default; admin must enable them / 新注册用户默认禁用,须管理员启用
  • Roles: admin and user / 角色:admin(管理员)和 user(普通用户)
  • Personal settings: change email and password / 个人设置:修改邮箱、修改密码

Project Report / 项目汇报

  • Generate project progress report with customizable templates / 生成项目进展汇报,支持自定义模板

Project Management / 项目管理

  • 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

User Management (admin only) / 用户管理(仅管理员)

  • List all users with search and pagination / 查看所有用户列表,支持搜索、分页
  • Toggle user role (admin ↔ user) / 切换用户角色
  • Enable / disable user accounts / 启用 / 禁用用户账号
  • Delete users (rejected if associated data exists) / 删除用户(有关联数据时拒绝删除)

Project Structure / 目录结构

.
├── 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

License

Apache-2.0 © 2026 fingki.li@gmail.com

About

Lightweight project management for small squads.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors