Ứng dụng web Flask cho phép người dùng gửi và quản lý lời nhắn trong sổ lưu bút với các tính năng thống kê và biểu đồ.
- Thêm lời nhắn mới: Người dùng có thể gửi lời nhắn với tên và nội dung
- Xem danh sách lời nhắn: Hiển thị tất cả lời nhắn theo thứ tự mới nhất
- Xóa lời nhắn: Có thể xóa các lời nhắn không mong muốn
- Lưu trữ JSON: Dữ liệu được lưu tự động vào file
data.json - Khôi phục dữ liệu: Tự động tải dữ liệu khi khởi động ứng dụng
- Đồng bộ real-time: Dữ liệu được cập nhật ngay lập tức khi có thay đổi
- Trang thống kê: Hiển thị tổng số lời nhắn và top 5 người gửi nhiều nhất
- Biểu đồ trực quan: Biểu đồ cột (bar chart) minh họa số lượng lời nhắn theo người gửi
- Tự động cập nhật: Biểu đồ được tạo và cập nhật tự động khi truy cập trang thống kê
- Python 3.7+
- Flask 2.3.3
- Matplotlib 3.7.2
# Clone repository
git clone <repository-url>
cd FlaskWeb
# Cài đặt dependencies
pip install -r requirements.txtpython app.pyỨng dụng sẽ chạy tại: http://localhost:5000
- Hiển thị danh sách tất cả lời nhắn
- Nút thêm lời nhắn mới
- Nút xem thống kê
- Giao diện responsive, thân thiện với mobile
- Form nhập tên và nội dung lời nhắn
- Validation đảm bảo không để trống
- Giao diện đơn giản, dễ sử dụng
- Tổng số lời nhắn đã gửi
- Danh sách top 5 người gửi nhiều nhất
- Biểu đồ trực quan minh họa dữ liệu
- Thiết kế card layout hiện đại
FlaskWeb/
├── app.py # File chính chứa logic ứng dụng
├── requirements.txt # Danh sách dependencies
├── README.md # Hướng dẫn sử dụng
├── data.json # File lưu trữ dữ liệu (tự động tạo)
├── static/
│ ├── css/
│ │ └── style.css # File CSS styling
│ └── stats.png # File biểu đồ (tự động tạo)
└── templates/
├── index.html # Template trang chủ
├── add.html # Template trang thêm lời nhắn
└── stats.html # Template trang thống kê
| Route | Method | Mô tả |
|---|---|---|
/ |
GET | Trang chủ với danh sách lời nhắn |
/add |
GET | Form thêm lời nhắn mới |
/add |
POST | Xử lý thêm lời nhắn |
/delete/<id> |
GET | Xóa lời nhắn theo ID |
/stats |
GET | Trang thống kê và biểu đồ |
{
"entries": [
{
"id": 1,
"name": "Tên người gửi",
"message": "Nội dung lời nhắn"
}
],
"next_id": 2
}data.json: Lưu trữ tất cả lời nhắn và metadatastatic/stats.png: Biểu đồ thống kê được tạo bởi matplotlib
- Backend: Flask (Python)
- Frontend: HTML5, CSS3, Jinja2 Templates
- Data Visualization: Matplotlib
- Data Storage: JSON file
- Styling: Custom CSS với responsive design
- Dữ liệu được lưu tự động sau mỗi thao tác thêm/xóa
- Biểu đồ được tạo động và cập nhật mỗi khi truy cập trang thống kê
- Ứng dụng hỗ trợ Unicode đầy đủ cho tiếng Việt
- Giao diện responsive, hoạt động tốt trên mọi thiết bị
Mọi đóng góp và đề xuất cải tiến đều được chào đón!
Phiên bản: 1.0.0
Tác giả: Flask Guestbook Team
Giấy phép: MIT