Đồ án tốt nghiệp: Website mua bán và quản lý nhà thuốc với Spring Boot Framework

Tải đồ án website quản lý nhà thuốc bằng Spring Boot. Báo cáo chi tiết và full source code, là tài liệu tham khảo hữu ích cho sinh viên ngành CNTT.

Chuyên ngành

Công nghệ thông tin

Tác giả

Phan Hữu Hiếu

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2016 - 2020

160
0
0

Phí lưu trữ

45 Point

Tóm tắt

I. Giới thiệu về Đồ án Website quản lý nhà thuốc

Đồ án Website quản lý nhà thuốc bằng Spring Boot là một dự án khóa luận tốt nghiệp toàn diện, được thực hiện bởi các sinh viên tại Trường Đại học Sư phạm Kỹ thuật TP.HCM. Đề tài này kết hợp các công nghệ hiện đại như Spring Boot Framework, Hibernate, và JPA để xây dựng một hệ thống quản lý bán hàng và quản lý nhà thuốc hoàn chỉnh. Dự án không chỉ cung cấp giao diện thân thiện cho khách hàng mà còn bao gồm hệ thống quản trị mạnh mẽ cho các quản trị viên. Với mục tiêu tối ưu hóa quy trình kinh doanh của các nhà thuốc, website quản lý nhà thuốc này đã được thiết kế để xử lý các nghiệp vụ phức tạp như quản lý sản phẩm, quản lý kho hàng, và tính toán công nợ một cách hiệu quả.

1.1. Tính cấp thiết của đề tài

Trong bối cảnh chuyển đổi số ngày càng trở nên thiết yếu, các nhà thuốc cần một giải pháp quản lý toàn diện. Hệ thống quản lý nhà thuốc online giúp tối ưu hóa hoạt động bán hàng, quản lý tồn kho, và cải thiện trải nghiệm khách hàng. Đây là nhu cầu cấp bách trong ngành y tế và dược phẩm hiện nay.

1.2. Mục đích của đề tài

Mục tiêu chính của đồ án Spring Boot này là xây dựng một nền tảng website mua bán toàn diện cho nhà thuốc. Hệ thống bao gồm hai phần chính: giao diện client-side cho người mua hàng và admin dashboard cho quản lý. Đây là một bài học tập thực tế về phát triển ứng dụng web với các công nghệ tiên tiến.

II. Công nghệ và công cụ được sử dụng

Dự án Website quản lý nhà thuốc Spring Boot sử dụng một bộ công nghệ hiện đại và mạnh mẽ. Phần backend được xây dựng trên Spring Boot Framework, một framework phát triển ứng dụng Java chuyên biệt, kết hợp với HibernateJPA để tương tác cơ sở dữ liệu. Phần frontend sử dụng HTML5, CSS3, Bootstrap UI, Thymeleaf 3, JavaScript, và jQuery để tạo giao diện người dùng responsive. REST API được sử dụng để kết nối giữa frontend và backend một cách hiệu quả. Các công cụ Ajax cho phép các yêu cầu không đồng bộ, cải thiện trải nghiệm người dùng. CSDL MySQL được chọn để lưu trữ dữ liệu an toàn và hiệu suất cao.

2.1. Spring Boot Framework và Backend

Spring Boot là framework Java phổ biến nhất hiện nay, cung cấp các tính năng mạnh mẽ để phát triển ứng dụng. Hibernate ORM giúp ánh xạ đối tượng Java tới các bảng cơ sở dữ liệu. JPA (Java Persistence API) chuẩn hóa cách tương tác với CSDL, giúp code dễ bảo trì và mở rộng.

2.2. Frontend technologies và giao diện người dùng

Thymeleaf 3 là template engine mạnh mẽ cho Spring Boot. Bootstrap UI cung cấp các component responsive đẹp mắt. JavaScript với jQueryAjax tạo các tương tác động mà không cần tải lại trang. HTML5CSS3 đảm bảo tính tương thích với các trình duyệt hiện đại.

III. Thiết kế cơ sở dữ liệu và kiến trúc hệ thống

Cơ sở dữ liệu của hệ thống quản lý nhà thuốc được thiết kế chi tiết với nhiều bảng dữ liệu liên kết. Các bảng chính bao gồm: Sản phẩm (chứa thông tin thuốc), Loại sản phẩm (phân loại thuốc), Nhà cung cấp (thông tin cung cấp), Đơn hàng (thông tin mua bán), Khách hàng (thông tin người dùng), Công nợ (quản lý nợ), và Bình luận (đánh giá sản phẩm). Mối quan hệ giữa các bảng được thiết kế theo chuẩn cơ sở dữ liệu quan hệ, đảm bảo tính toàn vẹn dữ liệu. Khóa ngoài được sử dụng để liên kết các bảng, tạo ra một cơ sở dữ liệu normalized có hiệu suất cao. Kiến trúc này cho phép truy vấn SQL nhanh chóng và hỗ trợ các báo cáo phức tạp.

3.1. Lược đồ cơ sở dữ liệu chi tiết

Lược đồ ER (Entity-Relationship) hiển thị tất cả các thực thể và mối quan hệ. Mỗi bảng có khóa chính (Primary Key) định danh duy nhất các bản ghi. Khóa ngoài (Foreign Key) kết nối các bảng với nhau. Chỉ mục (Index) được tạo trên các cột thường xuyên tìm kiếm để tăng tốc độ truy vấn.

3.2. Các bảng dữ liệu quan trọng

Bảng Products lưu trữ chi tiết sản phẩm như tên, giá, tồn kho. Bảng Orders ghi lại tất cả các giao dịch mua bán. Bảng Users quản lý tài khoản khách hàng và admin. Bảng Suppliers theo dõi thông tin nhà cung cấp. Bảng Debts quản lý công nợ phát sinh từ hoạt động kinh doanh.

IV. Chức năng chính và kết quả đạt được

Đồ án Website quản lý nhà thuốc bằng Spring Boot cung cấp một bộ chức năng hoàn chỉnh cho cả phía khách hàng và quản trị viên. Phía client có thể duyệt sản phẩm, tìm kiếm thuốc theo loại, xem chi tiết sản phẩm, bình luận đánh giá, thêm vào giỏ hàng, và thanh toán đơn hàng. Phía admin có thể quản lý danh sách sản phẩm (thêm, sửa, xóa), quản lý loại sản phẩm, quản lý nhà cung cấp, theo dõi đơn hàng, quản lý công nợ, xem báo cáo doanh thu, và quản lý tài khoản người dùng. Hệ thống được kiểm thử kỹ lưỡng theo từng màn hình và quy trình nghiệp vụ. Dự án đã đạt được mục tiêu ban đầu, tạo ra một nền tảng quản lý nhà thuốc hiệu quả, dễ sử dụng, và có khả năng mở rộng cao.

4.1. Tính năng phía khách hàng

Khách hàng có thể đăng ký tài khoản, đăng nhập an toàn, duyệt danh sách sản phẩm, tìm kiếm theo tên hoặc loại thuốc, xem chi tiết sản phẩm với giá và tồn kho, viết bình luậnđánh giá sao, thêm vào giỏ hàng, quản lý giỏ hàng, và thanh toán đơn hàng. Có tính năng quên mật khẩu an toàn để phục hồi tài khoản.

4.2. Tính năng phía quản trị viên

Admin dashboard cung cấp thống kê doanh thu chi tiết, quản lý toàn bộ sản phẩm trong kho, thêm mới loại sản phẩm, quản lý danh sách nhà cung cấp, theo dõi tất cả đơn hàng, quản lý công nợ khách hàng, và xuất báo cáo. Giao diện admin được tối ưu hóa cho tốc độ và hiệu quả cao.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

28/12/2025
Đồ án tốt nghiệp website mua bán và quản lý nhà thuốc với springgboot framework

Trích đoạn nội dung tài liệu

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. CÁC NGÔN NGỮ ĐƯỢC SỬ DỤNG - Các ngôn ngữ được sử dụng trong website: Java, Javascript 1. CÁC CÔNG NGHỆ ĐƯỢC SỬ DỤNG 1. Công nghệ Springboot - Khái niệm + Spring framework là một Java Platform mã nguồn mở, một giải pháp gọn nhẹ dành cho Java Enterprise.

Với Spring Framework các nhà phát triển có thể tạo ra các mã có hiệu suất cao, dễ kiểm thử và có thể sử dụng lại được. + Mục tiêu của Spring Framework là làm cho việc phát triển ứng dụng J2EE dễ dàng hơn và thúc đẩy việc lập trình tốt hơn bằng mô hình POJO-based. + Spring Framework được xây dựng dựa trên 2 nguyên tắc design chính là: Dependency Injection và Aspect Oriented Programming. + Spring Framework là một tập hợp của nhiều dự án con.

Trong đó có những dự án lớn sau: spring MVC, spring data, spring security, spring boot, spring batch, spring integration, spring social. + Spring Boot là một module của spring framework, cung cấp tính năng RAD (Rapid Application Development) – Phát triển ứng dụng nhanh. + Nó là một chuẩn cho cấu hình thiết kế phần mềm, tăng cao năng suất cho developer. Cấu trúc về Springboot Framework [1] 3 - Kiến trúc Dưới đây là kiến trúc tổng thể của spring framework Hình 1.

Kiến trúc spring framework [2] + Test: tầng này cung cấp khả năng hỗ trợ kiểm thử với Junit và TestNG + Spring core container: bao gồm module spring core, beans, context và expression language (EL): • Spring core, bean cung cấp tính năng IOC và Dependency Injection. • Spring context hỗ trợ đa ngôn ngữ (internationalization), các tính năng Java EE như EJB, JMX. • Expression Language được mở rộng từ Expression Language trong JSP. Nó cung cấp hỗ trợ việc setting/getting giá trị, các method cải tiến cho phép truy cập collections, index, các toán tử logic… + AOP, Aspects and Instrumentation là những module hỗ trợ cài đặt lập trình hướng khía cạnh (Aspect Oriented Programing), hỗ trợ tích hợp AspectJ.

+ Data Access/Integration là nhóm bao gồm JDBC, ORM, OXM, JMS và module Transaction. Những module này cung cấp khả năng giao tiếp với database. 4 + Web: nhóm này gồm Web, Web-Servlet…hỗ trợ việc tạo ứng dụng web. Công nghệ Hibernate - Hibernate framework là một giải pháp ORM (Object Relational Mapping) mã nguồn mở, gọn nhẹ.

Hibernate giúp đơn giản hóa sự phát triển của ứng dụng Java để tương tác với cơ sở dữ liệu. - Tool ORM giúp đơn giản hóa việc tạo dữ liệu, thao tác dữ liệu và truy cập dữ liệu. Đó là kỹ thuật lập trình để ánh xạ đối tượng vào dữ liệu lưu trữ trong cơ sở dữ liệu. Cấu trúc Hibernate [3] - Lợi ích của Hibernate Framework + Mã nguồn mở và nhẹ.

+ Hiệu suất nhanh: vì bộ nhớ cache được sử dụng trong nội bộ Hibernate Framework. + Truy vấn cơ sở dữ liệu độc lập: HQL (Hibernate Query Language) là phiên bản hướng đối tượng của SQL. Vì vậy, chúng ta không cần phải viết các truy vấn dữ liệu cụ thể. + Tạo bảng tự động: Hibernate cung cấp phương tiện để tạo ra các bảng cơ sở dữ liệu tự động.

Vì vậy, không cần tạo ra các bảng trong cơ sở dữ liệu bằng tay. + Đơn giản lênh join phức tạp: Có thể lấy dữ liệu từ nhiều bảng một cách dễ dàng với Hibernate. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Hệ quản trị được dùng trong dự án là SQL Server. - Giới thiệu + SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy client và máy cài SQL Server.

Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác trong RDBMS. + SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn lên đến Tera-Byte và có phục vụ cùng lúc hàng ngàn user. - Kiến trúc + Client: Nơi khởi tạo yêu cầu + Query: Truy vấn SQL là ngôn ngữ bậc cao. + Logical Units: Keyword, biểu thức, toán tử… + N/W Packets: Code liên quan đến mạng + Protocol + Server: Nơi SQL Services được cài đặt và có database + Relational Engine: Phân tích, tối ưu hóa và thực thi Query + Query Parser và Compiler: Kiểm tra cú pháp của truy vấn và chuyển đổi truy vấn sang ngôn ngữ máy + Query Optimizer: Chuẩn bị output là Execute Plan bằng cách lấy input truy vấn, các thống kê và cây Algebrizer.

+ Execution Plan: Chứa thứ tự các bước thực hiện + Query Executor: Đây là nơi truy vấn được thực hiện từng bước một. + Storage Engine: Lưu trữ, truy xuất dữ liệu trong hệ thống lưu trữ, thoa tác dữ liệu, khóa và quản lý các transaction. + SQL OS: Cung cáp dịch vụ hệ điều hành khác nhau + Check point: Ghi tất các trang sử đổi từ Buffer Cache vào ở đĩa vật ký. + Lazy Writer: Giải phóng bộ nhớ trong Buffer Pool.

[4] 6 - Ưu điểm + Không cần code + Tiêu chuẩn được quy định rõ ràng. + Tính di động + Multiple data views - Nhược điểm + Giao diện khó dùng + Không được toàn quyền kiểm soát [5] 7 2. CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 2. KHẢO SÁT HIỆN TRẠNG 2.

Trang Jio Health: https://pharmacy.com/ - Hình ảnh Hình 2. Hình tham khảo trang Jio [6] 8 - Ưu điểm + Tốc độ load trang nhanh. + Dễ dàng tìm kiếm sản phẩm. + Chuyển hướng hợp lý trong quá trình xem chi tiết sản phẩm (Open new tab).

+ Có responsive web phù hợp trên các thiết bị. + Hỗ trợ đăng nhập qua Facebook + Có hỗ trợ các phương thức thanh toán online qua nhiều loại thẻ tín dụng ATM. + Có hỗ trợ các phương thức login với các tài khoản xã hội facebook, zalo, google. + Hỗ trợ giao hàng online tận nhà.

+ Tìm sản phẩm theo bộ lọc tuỳ chọn. + Hiển thị gợi ý tìm kiếm khi nhập thông tin vào thanh tìm kiếm. + Cho phép chat trực tuyến - Nhược điểm + Font chữ không phù hợp. + Không thấy ngay sản phẩm khi truy cập vào trang web + Không có nút mua ngay.

+ Quá ít sản phẩm trên một trang. + Đăng kí tài khoản không có bước xác nhận mật khẩu hoặc hiển thị mật khẩu 9 2. Trang nhà thuốc Long Châu: https://nhathuoclongchau.com/ - Hình ảnh Hình 2. Hình tham khảo trang Long Châu [7] 10 - Ưu điểm + Cho phép tìm cửa hàng gần với bạn nhất + Đơn giản, dễ nhìn, không nhiều thông tin chi tiết.

+ Hỗ trợ giao hàng tận nhà. + Thanh tìm kiếm có hỗ trợ từ khóa tìm kiếm nhanh - Nhược điểm + Giao diện hiển thị thông tin sản phẩm không bắt mắt + Không có nhiều sản phẩm được hiển thị trên một trang + Chế độ lọc sản phẩm không đa dạng + Phương thức thanh toán không đa dạng (chỉ thanh toán khi nhận hàng). + Không hiển thị hình ảnh sản phẩm trong quá trình thanh toán. + Thanh menu quá nhiều chi tiết dư thừa.

+ Header và footer chiếm quá nhiều diện tích trang web 11 2. Trang nhà thuốc Việt: http://nhathuocviet.vn/ - Hình ảnh Hình 2. Hình ảnh tham khảo trang nhà thuốc Việt [8] 12 - Ưu điểm + Có responsive web phù hợp trên các thiết bị. + Hiển thị sản phẩm bán chạy + Có hỗ trợ các phương thức thanh toán online qua nhiều loại thẻ tín dụng ATM.

+ Hỗ trợ giao hàng online tận nhà. + Có chức năng mua ngay - Nhược điểm + Không hỗ trợ đăng nhập qua mạng xã hội. + Không có bộ lọc sản phẩm + Background không bắt mắt + Bố cục căn chỉnh không đều + Không có xác nhận mật khẩu hoặc hiển thị mật khẩu khi đăng kí tài khoản + Không hiển thị gợi ý sản phẩm khi tìm kiếm + Không có chức năng đánh giá sản phẩm + Header không đồng bộ với bố cục website + Footer chiếm nhiều diện tích. Trang công ty cổ phần dược phẩm pharmacy: https://www.vn/ - Hình ảnh Hình 2.

Hình ảnh tham khảo trang pharmacy [9] 14 - Ưu điểm + Hiển thị sản phẩm mới + Cho phép tìm kiếm theo danh mục + Hỗ trợ đăng nhập qua mạng xã hội + Đưa ra gợi ý sản phẩm khi tìm kiếm + Đăng nhập qua số điện thoại + Có hỗ trợ gọi tư vấn, đặt hàng online + Bộ lọc đa dạng: giá, sản phẩm… + Hiển thị sản phẩm liên quan + Đưa ra từ khoá thường xuyên truy cập - Nhược điểm + Panel quá to. + Font chữ không thống nhất + Màu sắc quá tương phản + Footer nhiều thông tin trùng lặp 15 2. Trang nhà thuốc 365: https://nhathuoc365.vn/ - Hình ảnh Hình 2. Hình ảnh tham khảo trang nhà thuốc 365 [10] - Ưu điểm + Tốc độ load trang nhanh.

+ Hiển thị sản phẩm tiêu biểu. + Hỗ trợ giao hàng online tận nhà. + Hỗ trợ dịch vụ đối với điện thoại. + Có hỗ trợ tư vấn online.

- Nhược điểm + Không có bộ lọc sản phẩm. + Không responsive trang web cho nhiều thiết bị. + Bố cục không hợp lý, rối mắt. + Thiết kế theo phong cách cũ.

+ Không gợi ý sản phẩm khi tìm kiếm. Những ưu điểm cần học - Tốc độ load trang nhanh. - Dễ dàng tìm kiếm sản phẩm. - Có hỗ trợ các phương thức thanh toán online qua nhiều loại thẻ tín dụng ATM.

- Có hỗ trợ các phương thức login với các tài khoản xã hội như facebook, google. - Bộ lọc có nhiều sự lựa chọn - Hỗ trợ dịch vụ đối với điện thoại. - Có hỗ trợ tư vấn online. - Có tính năng bình luận sản phẩm 2.

Những nhược điểm cần khắc phục - Không cho nhiều thông tin phụ lên một trang. - Bố cục không phức tạp hoặc đơn giản quá. - Đừng quên xây dựng thiếu các chức năng về dịch vụ tư vấn cho khách hàng. - Thao tác trên trang web dễ dàng.

- Tối ưu tốc độ tải trang. XÁC ĐỊNH YÊU CẦU 2. Lược đồ Usecase - Usecase phía người dùng Hình 2. Usecase người dùng 18 - Usecase phía quản trị Hình 2.

Usecase quản trị 19 - Chi tiết use case + Quản lý thông tin cá nhân Hình 2. Chi tiết quản lý thông tin cá nhân + Quản lý giỏ hàng Hình 2. Chi tiết quản lý giỏ hàng 20 + Quản lý sản phẩm Hình 2. Chi tiết quản lý sản phẩm + Quản lý nhà cung cấp Hình 2.

Chi tiết quản lý nhà cung cấp 21 + Quản lý đơn hàng Hình 2. Chi tiết quản lý đơn hàng 22 + Quản lý công nợ Hình 2. Chi tiết quản lý công nợ 23 + Quản lý kho hàng Hình 2. Chi tiết quản lý kho hàng 24 + Thống kê Hình 2.

Chi tiết thống kê + Quản lý tài khoản Hình 2. Chi tiết quản lý tài khoản 25 2. Phân tích nghiệp vụ a. Nghiệp vụ của guest Bảng 1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ