Mô tả dự án
Giới thiệu
CryptoDoc là ứng dụng web quản lý tài liệu bảo mật, cho phép người dùng tải lên, ký số và xác minh tài liệu bằng thuật toán RSA. Xây dựng theo quy trình Agile với đầy đủ tài liệu SRS, SDD, SAD.
Tính năng chính
- Đăng ký / đăng nhập với JWT (TTL 24h)
- Upload tài liệu lưu trên MinIO (S3-compatible)
- Sinh cặp khóa RSA, ký số tài liệu
- Xác minh chữ ký & toàn vẹn file (SHA hash)
- Luồng trạng thái tài liệu: UNSIGNED → SIGNED → VERIFIED
- Bảng quản trị: quản lý người dùng, audit log
Kiến trúc
Triển khai hoàn toàn bằng Docker Compose gồm 4 service: Nginx (reverse proxy) · Spring Boot (API) · PostgreSQL (DB) · MinIO (lưu trữ file).
Tài liệu dự án
Bộ tài liệu đầy đủ: SRS · SDD · SAD · IDD · STP · DPR
Tech Stack
Hình ảnh dự án
Timeline dự án
Testing, Tài liệu & Deploy hoàn chỉnh
Viết STP, thực hiện kiểm thử tích hợp. Hoàn thiện DPR, đóng gói Docker image, xác nhận hệ thống chạy ổn định end-to-end.
Frontend & Tích hợp API
Xây dựng giao diện HTML/JS (auth, dashboard, quản lý tài liệu, RSA keys, admin panel). Tích hợp hoàn chỉnh với backend API qua Nginx.
Backend: Ký số RSA & Quản lý tài liệu
Sinh cặp khóa RSA, API upload tài liệu lên MinIO, ký số và xác minh chữ ký, kiểm tra toàn vẹn file bằng SHA hash.
Backend: Authentication & User Management
Triển khai đăng ký/đăng nhập, mã hóa mật khẩu, phát hành JWT, Spring Security filter, phân quyền USER/ADMIN.
Thiết kế kiến trúc & thiết lập môi trường
Thiết kế SAD, IDD, wireframe UI. Cấu hình Docker Compose (Nginx + Spring Boot + PostgreSQL + MinIO), Flyway migration schema ban đầu.
Phân tích yêu cầu & thiết kế hệ thống
Viết SRS, vẽ Use Case Diagram, ERD và Class Diagram. Xác định luồng trạng thái tài liệu (UNSIGNED → SIGNED → VERIFIED).
Sprint Planning & Khởi động dự án
Xác định yêu cầu dự án, phân công nhiệm vụ, thiết lập repository và môi trường làm việc nhóm theo Agile Scrum.