mahdy47/cyberstudyhub
GitHub: mahdy47/cyberstudyhub
面向网络安全学生的全功能学习管理 Web 应用,集成任务管理、番茄钟、加密笔记、CTF 追踪和漏洞文档等模块,帮助系统化组织安全学习内容。
Stars: 0 | Forks: 0
# 🛡️ CyberStudyHub







为网络安全学生整理学习内容而设计的 Web 应用。管理任务、记录笔记、使用 Pomodoro 计时器追踪学习时间、记录 CTF 挑战以及为漏洞编写文档——一切尽在其中。
## 📸 截图
| 登录 | Dashboard |
|-------|-----------|
|  |  |
## ✨ 功能
- ✅ **任务管理** — 带有优先级、截止日期和状态跟踪的任务
- ⏱️ **Pomodoro 计时器** — 通过学习会话和历史记录保持专注
- 📝 **加密笔记** — 使用基于用户的加密密钥保护的学习笔记
- 🏴 **CTF 跟踪器** — 记录挑战、flag、writeup 和进度
- 🔓 **漏洞文档** — 记录 CVE 及其严重程度、CVSS 分数、PoC 和修复方案
- 👑 **管理员 Dashboard** — 管理用户、角色并查看活动审计日志
- 🔐 **安全** — 带有 refresh token 轮换的 JWT 身份验证、2FA (TOTP)、CSRF 防护、速率限制、httpOnly cookie
## 🛠️ 技术栈
| 层级 | 技术组件 |
|-----------|-------------------------------------------------|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS 4 |
| Backend | Node.js, Express, TypeScript |
| Database | SQLite + Prisma ORM |
| Security | Helmet, bcrypt, jsonwebtoken, speakeasy (2FA), zod validation |
## 🚀 快速开始
### 1. 安装依赖
```
npm install
```
### 2. 配置环境
将示例环境变量文件复制到 server 文件夹中并填写你的值:
```
cp .env.example packages/server/.env
```
### 3. 设置数据库
```
npm run db:push -w packages/server
```
### 4. 运行应用
在两个独立的终端中执行:
```
npm run dev:server # API on http://localhost:3000
npm run dev:client # UI on http://localhost:5173
```
## 🗂️ 项目结构
```
├── packages/
│ ├── client/ # React frontend (Vite)
│ │ └── src/
│ │ ├── auth/ # Login / Register
│ │ ├── tasks/ # Task dashboard
│ │ ├── pomodoro/ # Pomodoro timer
│ │ ├── notes/ # Encrypted notes
│ │ ├── ctf/ # CTF challenge tracker
│ │ ├── vulns/ # Vulnerability docs
│ │ └── admin/ # Admin dashboard
│ └── server/ # Express API + Prisma
│ └── src/
│ ├── auth/ # Auth routes, service, validation
│ ├── tasks/ # Task module
│ ├── pomodoro/ # Pomodoro module
│ ├── notes/ # Notes module
│ ├── ctf/ # CTF module
│ ├── vulns/ # Vulnerability module
│ ├── admin/ # Admin module
│ ├── stats/ # Dashboard stats endpoint
│ └── core/ # Middleware, errors, logger, db
```
## 🧪 测试
**API 测试:**
```
npm run dev:server # start the API first
node packages/server/test-api.mjs # then run the API tests
```
**E2E 浏览器测试 (Playwright):**
`packages/client/e2e/` 中的脚本使用 Playwright 自动化操作真实的 UI —— `tests.spec.mjs`(核心流程)和 `comprehensive.spec.mjs`(扩展覆盖范围)测试了注册/登录、任务、加密笔记、CTF 跟踪器、漏洞文档、Pomodoro 计时器以及设置,此外还包括响应式、导航和控制台错误检查。
```
npm run dev:server # terminal 1
npm run dev:client # terminal 2
node packages/client/e2e/tests.spec.mjs
```
## 📦 Docker
包含一个 `docker-compose.yml` 文件,用于容器化部署。
## 📄 许可证
MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。
怀着 ❤️ 为网络安全学生制作。
标签:CTF记录, GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, 任务管理, 加密笔记, 学习管理, 漏洞文档, 特征检测, 自动化攻击, 请求拦截