Đây là hệ thống quản lý dự án phần mềm, cho phép quản lý dự án, công việc (task), nhân sự, chấm công, tính lương thưởng, thống kê chi phí, phân quyền theo vị trí, và nhiều thao tác quản trị khác. Giao diện người dùng xây dựng bằng Python (Tkinter), backend kết nối trực tiếp MySQL, hỗ trợ import dữ liệu mẫu và mở rộng.
ProjectManagement/ ├── backend.py # Xử lý logic nghiệp vụ, thao tác với database MySQL ├── frontend.py # Giao diện người dùng chính (Tkinter GUI) ├── project_page.py # Module quản lý dự án (Project) ├── task_page.py # Module quản lý công việc (Task) ├── overview_page.py # Module báo cáo tổng quan, chi phí, thống kê ├── Fake.py # Sinh dữ liệu mẫu tự động (output: Data.sql) ├── projectmanagement.sql # File dump toàn bộ database (DDL + dữ liệu mẫu) ├── Data.sql # Dữ liệu mẫu lớn (tùy chọn, sinh bằng Fake.py) └── README.md # File hướng dẫn này
- Python >= 3.7
- Thư viện bắt buộc:
tkinter(có sẵn trong Python)mysql-connector-python(nếu kết nối MySQL)
Cài qua lệnh:pip install mysql-connector-python
- Cài MySQL Community Edition (https://dev.mysql.com/downloads/mysql/)
- Tạo database mới:
projectmanagement - Import cấu trúc và dữ liệu mẫu:
mysql -u [user] -p projectmanagement < projectmanagement.sql - (Tuỳ chọn) Import thêm dữ liệu lớn bằng:
mysql -u [user] -p projectmanagement < Data.sql
- Mở file
backend.py - Chỉnh các biến kết nối (host, user, password, database) cho phù hợp cấu hình máy bạn.
- Chạy chương trình:
python frontend.py
- Giao diện sẽ hiện ra, cho phép thao tác:
- Quản lý dự án: Thêm/sửa/xoá dự án, phân công nhân sự vào dự án
- Quản lý công việc: Thêm task, phân task, cập nhật deadline, xóa/cập nhật task, gán nhân sự thực hiện
- Quản lý nhân sự: Thêm/sửa/xoá nhân viên, lọc theo số lượng dự án/công việc, vai trò
- Thống kê - báo cáo: Xem chi phí nhân công, tổng hợp chi phí dự án theo tháng/quý/năm, tổng quan tiến độ
- Tìm kiếm: Theo mã dự án, nhân sự, lọc nhanh task
- Để tạo thêm dữ liệu mẫu (giả lập), chạy:
python Fake.py - Kết quả sẽ sinh ra file
Data.sqlchứa các câu lệnhINSERTcho đầy đủ bảng (Employee, Project, Task,...) - Import file này vào database nếu muốn test với dữ liệu lớn.
- Python chuẩn:
tkinter,random,os,messagebox - MySQL connector:
mysql-connector-python - Không dùng framework ngoài, code thuần Python, dễ bảo trì.
Mọi vấn đề về kỹ thuật, bug hoặc góp ý, vui lòng liên hệ:
- Tên SV thực hiện: [Nguyễn Duy Hiếu]
- Email: [hieu.nd237330@sis.hust.edu.vn]