🎯 1. Mục tiêu
-
✅ Tạo file Excel/PDF tự động (như ở bài 29)
-
✅ Gửi email với file đính kèm
-
✅ Định kỳ chạy hằng tuần bằng:
-
cron(trên Linux/Render) -
hoặc
threading + time.sleep()trong Flask (demo đơn giản)
-
✅ Tạo file Excel/PDF tự động (như ở bài 29)
✅ Gửi email với file đính kèm
✅ Định kỳ chạy hằng tuần bằng:
cron (trên Linux/Render)
hoặc threading + time.sleep() trong Flask (demo đơn giản)
✅ Xuất danh sách sinh viên ra file Excel (.xlsx)
✅ Xuất thành PDF đơn giản
✅ Đồng bộ dữ liệu lên Google Sheets
✅ Tải file chỉ bằng 1 click từ giao diện
Cho phép người dùng sửa điểm sinh viên ngay trên giao diện
Gửi request API PATCH khi chỉnh sửa
Ghi log mỗi thao tác vào bảng AuditLog
Hiển thị lịch sử chỉnh sửa
Gọi REST API từ giao diện web bằng JavaScript
Cho phép:
Thêm sinh viên
Hiển thị danh sách sinh viên
Xoá sinh viên (có xác nhận)
Vẽ biểu đồ realtime
Không cần reload trang, trải nghiệm hiện đại
Xây dựng chức năng đăng nhập, đăng xuất
Bảo vệ route /admin chỉ cho người đăng nhập
Phân quyền user → chỉ admin được thêm/sửa/xóa dữ liệu
Giao diện HTML đơn giản với form đăng nhập
Chuyển cấu hình Flask từ SQLite → PostgreSQL
Sử dụng PostgreSQL trên Render hoặc Supabase (hoặc ElephantSQL – Free Plan)
Cập nhật Flask app để hoạt động với DB mới
Deploy lại ứng dụng lên Internet
Đưa ứng dụng Flask + SQLite + Chart.js lên Internet
Không cần VPS, không cần mua domain
Gọi API từ bất kỳ đâu (web, app, Postman…)