LInk demo: https://drive.google.com/file/d/1vNQDxxrtHaIou6U8N25G-AT0oTFKoZV0/view?usp=sharing Frontend (HTML, CSS, JavaScript, Bootstrap 5): Giao diện Single Page Application (SPA) mô phỏng: Sử dụng JavaScript để tải nội dung động, thay đổi giao diện mà không cần tải lại toàn bộ trang. Các phần như danh sách rau, chi tiết rau, tin tức, quản lý người dùng, thông tin liên hệ được tải và thay đổi mượt mà qua API gọi về backend. Giao diện hiện đại, responsive: Thiết kế chuẩn Bootstrap 5, hỗ trợ mọi kích thước màn hình từ mobile đến desktop. Các form đăng nhập, đăng xuất, đăng ký đơn giản, thân thiện người dùng. Chức năng chính: Xem danh sách rau củ, phân loại theo nhóm (ví dụ: rau sạch, rau hữu cơ, rau theo mùa). Tìm kiếm và lọc rau theo tên, loại, giá cả nhanh chóng trên cùng một trang. Xem chi tiết từng loại rau: ảnh minh họa, mô tả, giá, nguồn gốc, thông tin dinh dưỡng. Xem tin tức mới nhất về kỹ thuật trồng rau, bảo quản, kiến thức dinh dưỡng dưới dạng bài viết. Đăng nhập và đăng xuất người dùng với session được lưu trên backend. Mọi thao tác gọi API lấy dữ liệu động qua AJAX/Fetch, render dữ liệu ra trang qua JavaScript. Backend (Java JSP + API RESTful + Session): Java JSP làm server-side xử lý: Xây dựng API RESTful phục vụ dữ liệu rau, tin tức, người dùng, liên hệ cho frontend gọi bằng AJAX. Session lưu trữ trạng thái đăng nhập của người dùng và admin, đảm bảo tính bảo mật và phân quyền truy cập. Quản lý rau: API cho phép admin thêm, sửa, xóa rau củ quả. Lưu chi tiết thông tin sản phẩm như tên, loại rau, giá, mô tả, hình ảnh, tình trạng kho hàng. Quản lý tin tức: API để tạo mới, chỉnh sửa, xoá bài viết tin tức nông nghiệp, kỹ thuật trồng rau. Quản lý người dùng: Đăng ký, đăng nhập, đăng xuất qua session. Phân quyền cơ bản: admin, nhân viên, khách hàng. Quản lý hồ sơ cá nhân, thay đổi mật khẩu. Quản lý thông tin liên hệ: Lưu trữ và hiển thị các phản hồi, yêu cầu khách hàng gửi qua form liên hệ. Quản lý admin: Giao diện quản trị dùng DataTables (plugin jQuery) để hiển thị danh sách rau, người dùng, tin tức với khả năng tìm kiếm, phân trang, sắp xếp dễ dàng. Admin đăng nhập riêng, sử dụng session để quản lý phiên làm việc. Các thao tác thêm, sửa, xóa được xử lý thông qua API tương ứng. Cơ sở dữ liệu: Sử dụng MySQL hoặc PostgreSQL để lưu trữ các bảng: Rau, Tin tức, Người dùng, Liên hệ, Phiên làm việc (session nếu cần). Thiết kế bảng chuẩn, tối ưu cho việc truy vấn API và quản lý dữ liệu. Tổng quan: Hệ thống tách biệt rõ ràng frontend và backend: Frontend dùng HTML/CSS/JS + Bootstrap mô phỏng SPA, gọi API backend động. Backend Java JSP xử lý dữ liệu, quản lý session, cung cấp API RESTful. Bảo mật: Quản lý session cho đăng nhập, bảo vệ API khỏi truy cập trái phép. Phân quyền sử dụng cho admin và nhân viên. Trải nghiệm người dùng: Trang web tải nhanh, thao tác mượt mà, không phải load lại trang khi chuyển đổi các phần (giống SPA). Admin dễ dàng quản lý dữ liệu qua bảng DataTables trực quan.