Tổng quan dự án
Dự án này là một hệ thống quản lý video tuyên truyền phòng chống lừa đảo, được xây dựng bằng Python và Vue theo kiến trúc tách biệt giữa frontend và backend. Đây là một sản phẩm phát triển trong khuôn khổ bài tập thiết kế khóa học dành cho sinh viên đại học. Mục tiêu của hệ thống là hỗ trợ sinh viên nâng cao kỹ năng lập trình Python, đồng thời rèn luyện khả năng thiết kế và phát triển dự án thực tế. Thông qua việc tìm hiểu hệ thống này, sinh viên có thể học hỏi và cải thiện năng lực của mình, tạo nền tảng vững chắc cho sự nghiệp tương lai. Dự án tập trung vào việc học và ứng dụng các công nghệ Django và Vue.
Chức năng chính
- Quản lý video: Cho phép nhập, sửa đổi và truy vấn thông tin cơ bản của video như tên, mô tả, ghi chú.
- Quản lý thể loại: Hỗ trợ quản lý các thể loại video, bao gồm tên thể loại.
- Quản lý bình luận: Theo dõi và quản lý tất cả các bình luận trên toàn bộ hệ thống.
- Quản lý người dùng: Quản lý thông tin người dùng, bao gồm thêm mới, chỉnh sửa và xóa người dùng.
- Phân tích thống kê: Thực hiện thống kê và phân tích dựa trên dữ liệu hoạt động của video và mức độ tương tác của người dùng, giúp quản trị viên nắm bắt tình hình chung của hệ thống.
- Quản lý thông báo: Quản trị viên có thể đăng tải thông báo lên hệ thống, người dùng trên toàn trang web sẽ nhận được.
- Quản lý quảng cáo: Quản trị viên có thể đăng tải thông điệp quảng cáo và hiển thị chúng ở phía bên phải trang chi tiết video.
- Góp ý phản hồi: Quản trị viên có thể xem các ý kiến đóng góp từ người dùng gửi về qua giao diện quản trị.
- Thông tin hệ thống: Quản trị viên có thể xem các thông tin cơ bản của hệ thống, bao gồm tên hệ thống, thông tin máy chủ, bộ nhớ, CPU, phần mềm, v.v.
- Đăng ký/Đăng nhập: Người dùng cần đăng ký và đăng nhập để sử dụng các chức năng của trang web.
- Duyệt cổng thông tin: Khi truy cập trang chủ, người dùng có thể xem danh sách video, bao gồm video mới nhất và video phổ biến.
- Gợi ý nội dung nổi bật: Sử dụng thuật toán lọc cộng tác để gợi ý các video được nhiều người quan tâm.
- Trung tâm người dùng: Bao gồm chức năng sửa đổi thông tin cá nhân, xem thông tin cơ bản, đổi mật khẩu, quản lý video yêu thích và lượt thích.
- Gửi phản hồi: Cung cấp giao diện cho người dùng gửi ý kiến phản hồi.
- Tìm kiếm tương đối: Chức năng tìm kiếm ở thanh trên cùng, hỗ trợ tìm kiếm thông tin video theo tiêu chí tương đối.
- Bình luận video: Người dùng có thể bình luận về video ở phần dưới trang chi tiết.
Môi trường phát triển
- Backend: Python 3.8 + Django 3.2
- Frontend: JavaScript + Vue
- Cơ sở dữ liệu: MySQL 5.7
- IDE: Pycharm + VS Code
- Hệ điều hành: Windows 10/11
Các công nghệ chính
- Frontend: ES6, Vue, Vuex, Vue-router, Vue-cli, Axios, Ant Design
- Backend: Python, Django, Pip
Các bước cài đặt và chạy
Chuẩn bị phần mềm
Các bước chạy Backend
- Cài đặt các thư viện phụ thuộc. Di chuyển vào thư mục
servervà thực thi lệnh:pip install -r requirements.txt
- Tạo cơ sở dữ liệu. Thực thi câu lệnh SQL sau:
CREATE DATABASE IF NOT EXISTS ten_database_cua_ban DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
- Khôi phục dữ liệu cơ sở dữ liệu. Trong giao diện dòng lệnh của MySQL, thực thi các lệnh sau:
USE ten_database_cua_ban; SOURCE /duong/dan/den/file.sql; - Cấu hình kết nối cơ sở dữ liệu. Trong file
settings.pytại thư mụcserver, cập nhật thông tin tài khoản và mật khẩu cơ sở dữ liệu của bạn:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'ten_database_cua_ban', # Tên database của bạn 'USER': 'ten_nguoi_dung_mysql', # Tên người dùng MySQL 'PASSWORD': 'mat_khau_mysql', # Mật khẩu MySQL 'HOST': '127.0.0.1', 'PORT': '3306', 'OPTIONS': { "init_command": "SET foreign_key_checks = 0;", } } } - Khởi động dịch vụ Django. Từ thư mục
server, thực thi lệnh:python manage.py runserver
Các bước chạy Frontend
- Cài đặt các gói phụ thuộc. Di chuyển vào thư mục
webvà thực thi lệnh:npm install
- Chạy ứng dụng. Thực thi lệnh:
npm run dev
Sau đó, truy cập vào địa chỉ frontend đã được cung cấp để sử dụng.
Câu hỏi thường gặp
1. Phiên bản MySQL yêu cầu là gì?
MySQL phiên bản 5.7 trở lên.
2. Cấu trúc thư mục của dự án như thế nào?
Thư mục server chứa mã nguồn backend, thư mục web chứa mã nguồn frontend.
3. Cần trang bị những kiến thức gì?
Cần nắm vững kiến thức lập trình Python, framework Django và kiến thức lập trình Vue.
4. Tài khoản và mật khẩu mặc định cho quản trị là gì?
Tài khoản: admin, Mật khẩu: admin123.