I. Tổng Quan Về Đồ Án App Chia Sẻ Thực Phẩm
Đồ án app chia sẻ thực phẩm là một dự án phần mềm được thực hiện tại Trường Đại Học Công Nghệ Thông Tin, Đại Học Quốc Gia TP. Hồ Chí Minh. Dự án này nhằm xây dựng một ứng dụng chia sẻ thực phẩm hiệu quả, kết nối các cá nhân và tổ chức trong việc chia sẻ thực phẩm thừa. Lý do chọn đề tài xuất phát từ nhu cầu giảm lãng phí thực phẩm và tạo cộng đồng hỗ trợ lẫn nhau. Mục tiêu chính của đề tài là xây dựng ứng dụng quản lý thực phẩm toàn diện với các tính năng quản lý, trao đổi và giao tiếp giữa người dùng. Nhóm thực hiện gồm hai sinh viên: Nguyễn Nguyên Khôi (21521010) và Trương Văn Hoàng Sơn (21520101), được hướng dẫn bởi giảng viên Lê Thanh Trọng.
1.1. Lý Do Chọn Đề Tài Và Mục Tiêu Dự Án
Lý do chọn đề tài này dựa trên tình trạng lãng phí thực phẩm ở các hộ gia đình và tổ chức. App chia sẻ thực phẩm giải quyết vấn đề này bằng cách tạo nền tảng kết nối giữa những người có thực phẩm thừa và những người cần. Mục tiêu của dự án là phát triển một ứng dụng quản lý đầy đủ tính năng, hỗ trợ đăng nhập, quản lý thực phẩm, nhắn tin, báo cáo người dùng và tổ chức các sự kiện chia sẻ.
1.2. Các Tính Năng Chính Của Sản Phẩm
Ứng dụng cung cấp các tính năng chính bao gồm: đăng nhập/đăng ký, quản lý thực phẩm (thêm, cập nhật, xóa), nhận thực phẩm, nhắn tin giữa người dùng, xin ủng hộ thực phẩm, báo cáo vi phạm, quản lý người dùng cho admin, và tổ chức sự kiện. Ngoài ra, hệ thống cho phép người dùng chỉnh sửa thông tin cá nhân, xem lịch sử trao đổi, và tham gia các khảo sát.
II. Kiến Trúc Hệ Thống Và Công Nghệ Sử Dụng
Kiến trúc hệ thống của app chia sẻ thực phẩm được thiết kế theo mô hình client-server hiện đại. Backend được xây dựng với các công nghệ phù hợp để xử lý logic ứng dụng, quản lý cơ sở dữ liệu và các yêu cầu từ người dùng. Frontend được tối ưu hóa để cung cấp giao diện người dùng thân thiện, dễ sử dụng trên các thiết bị khác nhau. Công nghệ sử dụng bao gồm các framework, thư viện phổ biến trong ngành công nghệ thông tin, đảm bảo hiệu năng cao, bảo mật tốt và khả năng mở rộng. Cơ sở dữ liệu được thiết kế tối ưu để lưu trữ thông tin người dùng, thực phẩm, tin nhắn và các dữ liệu khác.
2.1. Kiến Trúc Back End Và Database
Hệ thống backend chịu trách nhiệm xử lý tất cả logic ứng dụng, quản lý cơ sở dữ liệu và cung cấp API cho frontend. Thiết kế cơ sở dữ liệu bao gồm các bảng: users (người dùng), foods (thực phẩm), messages (tin nhắn), reports (báo cáo), events (sự kiện) và các bảng liên quan khác. Mỗi bảng được tối ưu hóa với các chỉ số và ràng buộc dữ liệu để đảm bảo tính toàn vẹn.
2.2. Kiến Trúc Front End Và Giao Diện Người Dùng
Frontend của ứng dụng chia sẻ được phát triển với các công nghệ tạo giao diện hiện đại, responsive và tối ưu trên di động. Giao diện người dùng bao gồm các màn hình: đăng nhập, trang chính, chi tiết thực phẩm, tạo bài chia sẻ, nhắn tin, thông tin cá nhân, báo cáo và quản lý. Mỗi màn hình được thiết kế với tính thân thiện, giúp người dùng dễ dàng thao tác.
III. Phân Tích Thiết Kế Hệ Thống Và Use Case
Phân tích thiết kế hệ thống bắt đầu từ việc xác định các use case tổng quát của ứng dụng. Use case diagram thể hiện tương tác giữa các actor (người dùng, admin, tổ chức) và các chức năng của hệ thống. Các use case chính bao gồm: đăng nhập/đăng ký, quản lý thực phẩm, nhắn tin, báo cáo người dùng, xử lý người dùng của admin, quản lý sự kiện và tạo khảo sát. Mỗi use case được mô tả chi tiết thông qua sơ đồ tuần tự, cho biết cách các thành phần hệ thống tương tác để hoàn thành một chức năng cụ thể.
3.1. Use Case Đăng Nhập Đăng Ký Và Quản Lý Tài Khoản
Use case đăng nhập cho phép người dùng xác thực danh tính thông qua tên đăng nhập và mật khẩu. Use case đăng ký cho phép tạo tài khoản mới với thông tin cá nhân. Chỉnh sửa thông tin cá nhân cho phép người dùng cập nhật hồ sơ, ảnh đại diện và các thông tin liên lạc. Các use case này đảm bảo bảo mật tài khoản và quản lý thông tin người dùng hiệu quả.
3.2. Use Case Quản Lý Thực Phẩm Và Trao Đổi
Use case quản lý thực phẩm bao gồm thêm, cập nhật và xóa bài đăng chia sẻ thực phẩm. Use case nhận thực phẩm cho phép người dùng đồng ý nhận thực phẩm từ người khác. Use case xin ủng hộ cho phép gửi yêu cầu hỗ trợ thực phẩm. Use case nhắn tin hỗ trợ giao tiếp trực tiếp giữa người dùng để thương lượng chi tiết về trao đổi.
IV. Kết Quả Thực Nghiệm Và Hướng Phát Triển
Kết quả thực nghiệm của đồ án app chia sẻ thực phẩm cho thấy ứng dụng hoạt động ổn định với đầy đủ các tính năng đã thiết kế. Hệ thống successfully xử lý các yêu cầu từ người dùng, quản lý cơ sở dữ liệu hiệu quả và cung cấp giao diện trực quan. Các bài kiểm tra cho thấy ứng dụng quản lý thực phẩm, tin nhắn và báo cáo hoạt động tốt. Tuy nhiên, dự án vẫn có những nhược điểm cần cải thiện như hiệu năng khi lượng người dùng lớn, tính năng thông báo real-time chưa hoàn thiện. Hướng phát triển bao gồm thêm tính năng AI để gợi ý thực phẩm, tích hợp thanh toán điện tử, hỗ trợ đa ngôn ngữ và phát triển ứng dụng desktop.
4.1. Kết Quả Đạt Được Và Nhược Điểm
Kết quả đạt được bao gồm giao diện hoàn chỉnh, hệ thống đăng nhập bảo mật, quản lý thực phẩm toàn diện, tính năng nhắn tin và báo cáo người dùng. Hệ thống được kiểm thử trên các trường hợp sử dụng khác nhau. Nhược điểm gồm: thông báo real-time chưa hoàn thiện, hiệu năng cần tối ưu cho lượng dữ liệu lớn, và một số tính năng phụ chưa được phát triển đầy đủ.
4.2. Hướng Phát Triển Trong Tương Lai
Hướng phát triển của ứng dụng bao gồm: thêm AI để gợi ý thực phẩm phù hợp, tích hợp thanh toán điện tử cho các dịch vụ nâng cao, hỗ trợ đa ngôn ngữ cho người dùng quốc tế, phát triển ứng dụng desktop, cải thiện hệ thống thông báo push, thêm tính năng đánh giá và xếp hạng người dùng, và tích hợp GPS cho định vị địa chỉ chia sẻ thực phẩm.