TÓM TẮT ĐỒ ÁN Tên đồ án: Ứng dụng bán hàng Nền tảng phát triển: Mobile – Android Ngôn ngữ: Java – Hệ quản trị cơ sở dữ liệu: MySQL Sơ lược đồ án: Ứng dụng được xây dựng nhằm tạo ra mô
GIỚI THIỆU CHUNG
Lý do chọn đề tài
Hiện nay, nhu cầu mua sắm online ngày càng tăng cao do hạn chế di chuyển trong mùa dịch Covid-19, khiến mọi người dần chuyển sang hình thức mua sắm trực tuyến Để đáp ứng xu hướng này, tôi chọn đề tài xây dựng một shop online nhằm kết nối giữa người bán và khách hàng có nhu cầu mua sắm, giúp người dùng dễ dàng tiếp cận các sản phẩm dựa trên nhu cầu của họ Ứng dụng sẽ cung cấp những công cụ tối ưu để người dùng tiếp cận những mặt hàng phù hợp, nâng cao trải nghiệm mua sắm và hỗ trợ người bán mở rộng lượng khách hàng Mục tiêu cuối cùng là mang lại sự thuận tiện nhất cho cả người mua và người bán trong quá trình mua sắm và kết nối họ với những sản phẩm phù hợp.
Quá trình thực hiện
Quá trình tìm hiểu và thực hiện đề tài đã giúp nhóm giải quyết các thắc mắc ban đầu một cách có hệ thống, đồng thời xử lý từng bước công việc và phát hiện những vấn đề mới để nâng cao tính logic và tính hoàn thiện của bài đồ án Những điều nhóm làm được trong đề tài gồm việc làm rõ các câu hỏi ban đầu, triển khai giải pháp theo trình tự hợp lý và liên tục bổ sung các khía cạnh mới để cải thiện chất lượng bài nghiên cứu.
- Phân tích yêu cầu đề tài
- Lựa chọn công nghệ và nền tảng phát triển phù hợp với đề tài
- Nghiên cứu cơ sở lý thuyết của công nghệ đã chọn
- Áp dụng lý thuyết vào xây dựng ứng dụng thực tiễn
- Kiểm tra và khám phá các ứng dụng tương tự để tối ưu hoá và cải thiện thêm các tính năng cho ứng dụng
Tổng quan về chức năng
Các chức năng chính bao gồm:
- Đăng nhập, đăng ký , quên mật khẩu,…
- Xem sản phẩm, chi tiết sản phẩm, thêm vào giỏ hàng, đặt hàng
- Xem thông tin đơn hàng, chi tiết đơn hàng và trạng thái giao hàng,…
CƠ SỞ LÝ THUYẾT
Android Studio
Android Studio là một phần mềm tích hợp phát triển (IDE) bao gồm các bộ công cụ khác nhau để phát triển ứng dụng chạy trên thiết bị Android như điện thoại thông minh và máy tính bảng Android Studio đi kèm với một code editor mạnh mẽ, debugger, các công cụ performance và một hệ thống build/deploy, trong đó có trình giả lập (emulator) để mô phỏng môi trường của thiết bị trên máy tính Nhờ các công cụ này, các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ các dự án đơn giản tới phức tạp.
Java
Hình 2.2-1: Ngôn ngữ lập trình Java
Java là một trong những ngôn ngữ lập trình hướng đối tượng phổ biến, thường được dùng trong phát triển phần mềm, xây dựng trang web và game, cũng như phát triển các ứng dụng trên các thiết bị di động.
Java là ngôn ngữ lập trình dễ học và quen thuộc với hầu hết các lập trình viên Các chương trình viết bằng Java có thể chạy trên nhiều nền tảng và môi trường khác nhau nhờ JVM, đảm bảo tính di động và khả năng tương thích cao Java hỗ trợ lập trình đa tiến trình (multithreading), cho phép thực thi đồng thời các tác vụ và tối ưu hóa hiệu suất hệ thống Đồng thời, Java cung cấp các giải pháp đồng bộ giữa các tiến trình để quản lý truy cập tài nguyên và duy trì tính nhất quán dữ liệu, đồng thời hỗ trợ quản lý ưu tiên giữa các tiến trình.
PHP
Hình 2.3-1: Ngôn ngữ lập trình PHP
PHP, viết tắt của Hypertext Preprocessor, là ngôn ngữ kịch bản mã nguồn mở, thông dịch và hướng đối tượng được thực thi phía máy chủ; trong các dự án di động, PHP được dùng để viết Web API nhằm giao tiếp với máy chủ cơ sở dữ liệu MySQL API (Application Programming Interface) là giao diện lập trình ứng dụng cho phép truy cập đến một tập các hàm phổ biến và từ đó hỗ trợ trao đổi dữ liệu giữa các ứng dụng Web API là phương thức cho phép các ứng dụng khác nhau giao tiếp và trao đổi dữ liệu qua lại, với dữ liệu trả về thường ở định dạng JSON hoặc XML thông qua giao thức HTTP hoặc HTTPS.
GitHub
GitHub là một hệ thống quản lý dự án và kiểm soát phiên bản mã nguồn, hoạt động như một mạng xã hội dành cho lập trình viên Người dùng có thể clone mã nguồn từ các repository và GitHub đóng vai trò như dịch vụ máy chủ repository công cộng, cho phép mỗi người đăng ký tài khoản để tạo và quản lý kho chứa riêng cho dự án của mình Bên cạnh việc cung cấp đầy đủ các tính năng của Git, GitHub còn tích hợp các công cụ xã hội giúp các developer tương tác, hợp tác và chia sẻ ý tưởng một cách hiệu quả, từ đó tăng khả năng làm việc nhóm và đóng góp cho cộng đồng mã nguồn mở.
Github cung cấp các tính năng social networking như feeds, followers, và network graph để các developer học hỏi kinh nghiệm của nhau thông qua lịch sử commit.
XÂY DỰNG HỆ THỐNG
Xây dựng kiến trúc hệ thống
Hệ thống được xây dựng theo mô hình MVC Trong đó, các models giao tiếp với database thông qua các API
Mô hình này lưu trữ toàn bộ dữ liệu của ứng dụng và đóng vai trò cầu nối giữa cơ sở dữ liệu và giao diện người dùng Nó cho phép người dùng nhập và xuất dữ liệu tới các cơ sở dữ liệu theo quyền truy cập của họ khi cần thiết, và mọi dữ liệu sẽ được lưu trữ an toàn trong cơ sở dữ liệu.
View là giao diện người dùng của kiến trúc MVC, cho phép người dùng lấy thông tin dữ liệu thông qua các công thức truy vấn và ghi nhận mọi hoạt động tương tác nhằm giao tiếp với Controller Với vai trò là lớp trình bày, View thể hiện dữ liệu một cách trực quan, hỗ trợ người dùng thực hiện các thao tác và gửi yêu cầu đến Controller để xử lý và điều phối luồng dữ liệu giữa Model và View, đảm bảo sự thống nhất và hiệu quả trong toàn bộ ứng dụng.
Trong kiến trúc MVC, Controller nhận các yêu cầu từ người dùng thông qua View và xử lý chúng Sau đó, Controller tương tác với Model để lấy dữ liệu phù hợp, rồi gửi dữ liệu kết quả tới View để hiển thị trên giao diện người dùng, đảm bảo người dùng nhận được nội dung đúng với yêu cầu ban đầu.
Hình 3.1-1: Sơ đồ hệ thống
Hình 3.1-2: Sơ đồ use case
Hình 3.1-4: Sơ đồ logic của cơ sở dữ liệu
3.1.3.2 Danh sách các quan hệ
(a) Bảng danh mục : Thông tin danh mục
STT Thực thể Kiểu dữ liệu Ghi chú
2 tensanpham varchar(100) Độc nhất Không thay đổi
3 hinhanh text Ảnh mặt hàng
(b) Bảng sanphamoi : Thông tin sản phẩm
STT Thực thể Kiểu dữ liệu Ghi chú
2 tensp varchar(250) Tên hiển thị Có thể thay đổi
3 giasp Varchar(100) Giá của sản phẩm
4 hinhanh text Ảnh sản phẩm
5 mota text Mô tả sản phẩm
(c) Bảng user: Thông tin người dùng
STT Thực thể Kiểu dữ liệu Ghi chú
2 Email Varchar(250) Email đăng ký, đăng nhập tài khoản
3 Pass Varchar(250) Mật khẩu đăng nhập
4 username Varchar(100) Tên đăng nhập
5 Mobile Varchar(15) Số điện thoại đăng ký
Thiết kế giao diện
(d) Bảng donhang: Thông tin đơn hàng
STT Thực thể Kiểu dữ liệu Ghi chú
2 iduser Int(11) Id người dùng đặt hàng
3 diachi Text Địa chỉ nhận hàng
6 soluong Int(11) Số lượng mặt hàng đã đặt
7 tongtien varchar(255) Tổng số tiền sản phẩm
(e) Bảng chitietdonhang: Thông tin chi tiết đơn hàng
3.2 T hiết kế giao diện 3.2.1 Giao diện ứng dụng
STT Thực thể Kiểu dữ liệu Ghi chú
2 idsp Int(11) Mã sản phẩm
3 soluong Int(11) Số lượng sản phẩm
4 gia Varchar(255) Giá thành sản phẩm
Hình 3.2-2: Đăng Ký Đăng ký tài khoản cho người dùng bằng Email, số điện thoại, mật khẩu và tên người dùng
STT Tên đối tượng Loại Chức năng
1 Email EditText Nhập Email đăng ký tài khoản
2 Username EditText Nhập tên ngươi dùng
3 Mobile EditText Nhập số điện thoại
4 Password EditText Nhập mật khẩu người dùng
5 Password EditText Xác nhận lại mật khẩu
Bảng 3.2-1: Các đối tượng trên màn hình đăng ký
Cung cấp chức năng xác thực tài khoản người dùng có hợp lệ hay không ? Nếu thông tin hợp lệ sẽ chuyển sang màn hình trang chủ
STT Tên đối tượng Loại Chức năng
1 Email EditText Nhận email nhập vào
2 Mật Khẩu EditText Nhập mật khẩu tương ứng
3 Đăng Nhập AppCompatButton Yêu cầu đăng nhập vào hệ thống
4 Quên mật khẩu Textview Quên mật khẩu người dùng
Bảng 3.2-2: Các đối tượng trên màn hình đăng nhập
Hiển thị banner quảng cáo, hiển thị danh sách các sản phẩm đang bán
STT Tên đối tượng Loại Chức năng
1 Tìm kiếm AppCompatButton Tìm kiếm sản phẩm
2 Giỏ hàng AppCompatButton Xem thông tin giỏ hàng
RecycleView Hiển thị danh sách sản phẩm đang được bán
Bảng 3.2-3: Các đối tượng trên Trang Chủ
Hình 3.2-5: Trang mặt hàng Đây là trang hiển thị các sản phẩm là Điện thoại đi động
STT Tên đối tượng Loại Chức năng
1 Danh sách RecycleView Hiển thị danh sách điện thoại
Bảng 3.2-4: Các đối trượng trên trang điện thoại
Trang hiển thị danh sách laptop đang bán
STT Tên đối tượng Loại Chức năng
1 Danh sách RecycleView Hiển thị danh sách laptop
Bảng 3.2-5: Các đối tượng trên Trang laptop
Hình 3.2-7: Trang chi tiết sản phẩm
Trang chi tiết sản phẩm hiển thị đầy đủ thông tin quan trọng của một sản phẩm bất kỳ, giúp người dùng xem mô tả, hình ảnh và các thông số kỹ thuật để đánh giá chi tiết Tại trang này, người dùng có thể xem thông tin sản phẩm một cách toàn diện và dễ dàng chọn số lượng trước khi thêm vào giỏ hàng, mang lại trải nghiệm mua sắm trực tuyến thuận tiện và nhanh chóng.
STT Tên đối tượng Loại Chức năng
1 Tên sản phẩm TextView Hiển thị tên sản phẩm
2 Giá TextView Hiển thị giá thành của sản phẩm
3 Chọn số lượng Spinner Chọn số lượng sản phẩm
4 Thêm vào giỏ AppCompatButton Thêm đối tượng vào giỏ hàng
Bảng 3.2-6: Các đối tượng trên chi tiết sản phẩm
Hình 3.2-8 mô tả màn hình giỏ hàng, nơi danh sách các sản phẩm đã được thêm vào giỏ hàng được hiển thị chi tiết; người dùng có thể xem tổng tiền của các sản phẩm đã chọn và chỉnh sửa số lượng mua theo nhu cầu trước khi thanh toán.
STT Tên đối tượng Loại Chức năng
1 Dách sách mặt hàng Item Hiển thị các sản phẩm đã thêm vào giỏ
TextView Hiển thị tông tiền mặt hàng
Xác nhận mặt hàng đã chọn
Bảng 3.2-7: Các đối tượng trên giỏ hàng
Màn hình hiển thị tổng tiền , số điện thoại, email và địa chỉ khi đặt hàng Có thể thanh toán trước khi nhận hàng hoặc sau khi nhận hàng
Hình 3.2-9: Trang thanh toán
Màn hình này cho phép người dùng xem lại tổng tiền hàng đã mua Nhập địa chỉ nhận hàng và đặt hàng
STT Tên đối tượng Loại Chức năng
2 Số điện thoại TextView Hiển thị số điện thoại nhận hàng
TextView Hiển thị email nhận hàng
4 Địa chỉ EditText Nhập địa chỉ nhận hàng
5 Thanh toán khi nhận hàng
AppCompatButton Xác nhận thông tin đặt hàng và thanh toán sau
6 Thanh toán bằng momo AppCompatButton Xác nhận thông tin đặt hàng và thanh toán trước bằng momo
Bảng 3.2-8: Các đối tượng trên trang thanh toán
Hình 3.2-10: Trang đơn hàng
Trang hiển thị danh sách mặt hàng đã đặt cũng như tình trạng đơn hàng
Bảng 3.2-9: Các đối tượng trên đơn hàng
STT Tên đối tượng Loại Chức năng
RecycleView Hiển thị danh sách đơn hàng
2 Tình trạng Textview Hiển thị tình trạng đơn hàng
STT Tên đối tượng Loại Chức năng
1 Tìm kiếm EditText Tìm kiếm sản phẩm theo từ khóa
RecycleView Hiển thị danh sách sản phẩm