Skip to content

phamtu2x5/FlaskWeb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 Guestbook - Sổ lưu bút

Ứ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 đồ.

✨ Tính năng

📝 Quản lý lời nhắn

  • 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ữ dữ liệu

  • 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

📊 Thống kê và biểu đồ

  • 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ê

🚀 Cài đặt và chạy

Yêu cầu hệ thống

  • Python 3.7+
  • Flask 2.3.3
  • Matplotlib 3.7.2

Cài đặt

# Clone repository
git clone <repository-url>
cd FlaskWeb

# Cài đặt dependencies
pip install -r requirements.txt

Chạy ứng dụng

python app.py

Ứng dụng sẽ chạy tại: http://localhost:5000

📱 Giao diện

Trang chủ (/)

  • 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

Trang thêm lời nhắn (/add)

  • 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

Trang thống kê (/stats)

  • 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

📁 Cấu trúc dự án

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ê

🔧 API Routes

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 đồ

📊 Dữ liệu

Cấu trúc lưu trữ

{
  "entries": [
    {
      "id": 1,
      "name": "Tên người gửi",
      "message": "Nội dung lời nhắn"
    }
  ],
  "next_id": 2
}

File tự động tạo

  • data.json: Lưu trữ tất cả lời nhắn và metadata
  • static/stats.png: Biểu đồ thống kê được tạo bởi matplotlib

🛠️ Công nghệ sử dụng

  • Backend: Flask (Python)
  • Frontend: HTML5, CSS3, Jinja2 Templates
  • Data Visualization: Matplotlib
  • Data Storage: JSON file
  • Styling: Custom CSS với responsive design

📝 Ghi chú

  • 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ị

🤝 Đóng góp

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published