- Thông tin nhóm
- Mô tả đề tài
- Phân tích thiết kế
- Công cụ và công nghệ sử dụng
- Triển khai
- Kiểm thử
- Kết quả
- Tài liệu tham khảo
| Họ và tên | Vai trò | Phân công công việc | |
|---|---|---|---|
| Trương Long Tý | tytruong977@gmail.com | Backend | Thiết kế CSDL, xây dựng API, xử lý nghiệp vụ backend |
| Nguyễn Thái Uy | thaiuy1006@gmail.com | Frontend | Thiết kế UI/UX, phát triển giao diện React, tích hợp API |
| Vương Nguyễn Minh Khoa | vnmkhoa.2910@gmail.com | Testing | Viết test case, kiểm thử chức năng, kiểm thử hiệu năng |
| Trần Anh Tuấn | anhtuan59gz@gmail.com | Deploy | Triển khai Docker, vận hành hệ thống |
Video demo: Google Drive
Link triển khai: Pharmacy Management
Hệ thống Quản lý Nhà thuốc là một giải pháp phần mềm giúp các nhà thuốc quản lý hiệu quả các nghiệp vụ như quản lý thuốc, hóa đơn bán hàng, đơn đặt hàng, khách hàng, nhà cung cấp, nhân viên và báo cáo thống kê. Đề tài giải quyết các vấn đề về lưu trữ, truy xuất thông tin nhanh chóng, giảm thiểu sai sót thủ công, hỗ trợ ra quyết định và nâng cao hiệu quả vận hành nhà thuốc. Lý do chọn đề tài là nhu cầu thực tế về chuyển đổi số trong lĩnh vực y tế, đặc biệt là các nhà thuốc vừa và nhỏ.
- Xây dựng hệ thống quản lý nhà thuốc hiện đại, dễ sử dụng, đáp ứng nghiệp vụ thực tế.
- Hỗ trợ quản lý thông tin thuốc, khách hàng, nhân viên, nhà cung cấp, hóa đơn, đơn đặt hàng và báo cáo thống kê.
- Đảm bảo an toàn dữ liệu, phân quyền người dùng rõ ràng.
- Cung cấp giao diện thân thiện, hỗ trợ đa nền tảng (web, mobile).
Yêu cầu chức năng:
- Quản lý thông tin thuốc (thêm, sửa, xóa, tìm kiếm, xuất Excel)
- Quản lý khách hàng, nhân viên, nhà cung cấp
- Quản lý hóa đơn bán hàng, đơn đặt hàng, phiếu thu
- Thống kê, báo cáo doanh thu, chi phí, lợi nhuận
- Phân quyền tài khoản (Admin, Nhân viên bán hàng, Quản lý sản phẩm)
- Tích hợp chatbot hỗ trợ tư vấn, tra cứu thông tin, giải đáp thắc mắc cho người dùng hệ thống
Yêu cầu phi chức năng:
- Giao diện thân thiện, dễ sử dụng
- Đảm bảo bảo mật thông tin người dùng
- Hệ thống hoạt động ổn định, hiệu năng tốt
- Dễ dàng mở rộng, bảo trì
- Quản lý thuốc: Thêm mới, chỉnh sửa, xóa, tìm kiếm thuốc theo tên/mã, xuất danh sách thuốc ra file Excel.
- Quản lý khách hàng: Thêm, sửa, xóa, tìm kiếm khách hàng, xem lịch sử mua hàng.
- Phân quyền: Tài khoản Admin có toàn quyền, nhân viên bán hàng chỉ thao tác với hóa đơn, khách hàng, nhân viên quản lý sản phẩm chỉ thao tác với thuốc, nhà cung cấp, phiếu thu.
- Báo cáo: Thống kê doanh thu, chi phí, lợi nhuận, số lượng hóa đơn, số lượng khách hàng.
-
Sơ đồ Use Case:
-
Thiết kế CSDL:
-
Thiết kế giao diện:
Giao diện được thiết kế hiện đại, thân thiện với người dùng. Dưới đây là một số hình ảnh minh họa các màn hình chính của hệ thống:
Hình 3: Landing Page – Trang giới thiệu hệ thống, đăng nhập và các thông tin tổng quan về nhà thuốc.
Hình 4: Login Page – Trang đăng nhập vào hệ thống.
Hình 5: Dashboard dành cho Admin – Quản lý tổng thể hệ thống, thống kê doanh thu, số lượng thuốc, người dùng, cảnh báo hệ thống.
Hình 6: Dashboard dành cho Nhân viên bán hàng – Quản lý hóa đơn, khách hàng, tra cứu thuốc, tạo đơn bán hàng nhanh chóng.
Hình 7: Dashboard dành cho Nhân viên quản lý sản phẩm – Quản lý danh mục thuốc, nhà cung cấp, kiểm soát tồn kho, nhập xuất thuốc.
- Ngôn ngữ lập trình: Python (backend), JavaScript (frontend)
- Framework: Django REST Framework (backend), ReactJS (frontend)
- Cơ sở dữ liệu: PostgreSQL
- IDE: Visual Studio Code
- Công cụ khác: Docker, Git, Swagger
- Đã cài đặt Docker và Docker Compose trên máy.
- Không cần cài đặt Python, Node.js, PostgreSQL thủ công vì đã dùng Docker.
git clone https://github.com/iuh-application-development/Pharmacy-Management
cd Pharmacy-Management- Đảm bảo file
.envđã có trong thư mụcbackend.
docker-compose up --build- Frontend: http://localhost:3000
- Backend API/Swagger: http://localhost:8000/swagger/
- ReDoc: http://localhost:8000/redoc/
Mở terminal mới, chạy lệnh sau để migrate database:
docker-compose exec backend python manage.py migrateNếu muốn tạo tài khoản admin:
docker-compose exec backend python manage.py createsuperuser- Thực hiện kiểm thử chức năng (Functional Testing) cho từng module: thuốc, khách hàng, hóa đơn, tài khoản...
- Kiểm thử hiệu năng (Performance Testing) với dữ liệu lớn, nhiều người dùng đồng thời.
- Viết unit test cho frontend (Jest) và backend (Django TestCase).
- Xây dựng thành công hệ thống quản lý nhà thuốc đầy đủ các chức năng nghiệp vụ.
- Giao diện trực quan, dễ sử dụng, hỗ trợ xuất file Excel, thống kê báo cáo.
- Đảm bảo phân quyền, bảo mật, kiểm thử tự động.
- Chưa triển khai phiên bản mobile native.
- Chưa tích hợp thanh toán trực tuyến, gửi email tự động.
- Phát triển ứng dụng mobile (Flutter/React Native).
- Kết nối với hệ thống quản lý bệnh viện/phòng khám.

