← Về danh sách dự án

Dự án học thuật / 16

ARCHIVE Social Network — Mạng Xã hội Thu nhỏ

Website mạng xã hội đầy đủ chức năng với phân hệ User và Admin

Dự án học thuật5 phút đọc

Tóm tắt nhanh

Tổng quan dự án

Nội dung nghiên cứu

Vấn đề: xây dựng một mạng xã hội thật, không chỉ là một website trình diễn

ARCHIVE Social Network là một website mạng xã hội thu nhỏ, được xây dựng nhằm mô phỏng các chức năng cốt lõi của một nền tảng mạng xã hội hiện đại. Hệ thống cho phép người dùng đăng bài, chia sẻ hình ảnh, tương tác qua thích, bình luận, theo dõi, tìm kiếm, hashtag, thông báo và quản lý hồ sơ cá nhân. Một nền tảng mạng xã hội cần quản lý đồng thời nhiều luồng dữ liệu và hành vi người dùng — nếu không có kiến trúc hệ thống rõ ràng, mã nguồn sẽ rất khó mở rộng và bảo trì.

Bên cạnh phân hệ người dùng, hệ thống còn có khu vực quản trị riêng dành cho Admin nhằm kiểm duyệt nội dung, quản lý báo cáo, quản lý thành viên, thống kê hoạt động và gửi thông báo hệ thống. Dự án hướng đến việc xây dựng một hệ thống web có tổ chức, có phân tách rõ giữa giao diện, xử lý nghiệp vụ và dữ liệu, đồng thời hỗ trợ cả người dùng cuối và quản trị viên trong cùng một nền tảng.

Vai trò: phụ trách chính toàn bộ phân hệ Admin

Trong nhóm 4 thành viên, phụ trách chính phân hệ quản trị và tham gia vào quá trình thiết kế, kiểm thử, tối ưu hệ thống:

  • Thiết kế và xây dựng phân hệ Admin Dashboard
  • Phát triển các chức năng kiểm duyệt nội dung
  • Phát triển chức năng quản lý báo cáo vi phạm
  • Phát triển chức năng quản lý nội dung và quản lý thành viên
  • Xây dựng thống kê và thông báo hệ thống trong khu vực quản trị
  • Thiết kế Class Diagram
  • Tối ưu và tổ chức lại kiến trúc mã nguồn cho phân hệ quản trị
  • Kiểm thử chức năng, giao diện và xử lý lỗi của phân hệ quản trị
  • Tham gia chỉnh sửa báo cáo và hoàn thiện sản phẩm cuối kỳ

Quá trình: từ website “trình diễn” đến hệ thống có kiến trúc thật

Quy trình thực hiện đi theo các bước:

  1. Phân tích chức năng hệ thống
  2. Thiết kế phân hệ User và Admin
  3. Xây dựng ERD và Class Diagram
  4. Thiết kế giao diện cho Desktop và Mobile
  5. Thiết kế cơ sở dữ liệu MySQL
  6. Tổ chức mã nguồn theo mô hình MVC
  7. Phát triển các chức năng người dùng và phân hệ quản trị viên
  8. Tích hợp xác thực, Google OAuth và Gmail OTP
  9. Kiểm thử responsive, upload hình ảnh và các luồng tương tác
  10. Quản lý mã nguồn bằng GitHub
  11. Deploy hệ thống lên Railway và kiểm thử trên môi trường thực tế

Đặc biệt tự hào vì nhóm đã tích hợp được nhiều chức năng trước đây tưởng rất khó như xác thực OTP qua Gmail, đăng nhập bằng Google OAuth, tổ chức mã nguồn theo MVC, deploy lên Railway và phối hợp phát triển bằng GitHub.

Kết quả đạt được

  • Hoàn thành website mạng xã hội ARCHIVE với đầy đủ phân hệ User và Admin
  • Xây dựng được hệ thống đăng nhập, đăng ký, xác thực email, quên mật khẩu và đăng nhập Google
  • Hoàn thành các chức năng mạng xã hội như đăng bài, thích, bình luận, theo dõi, tìm kiếm, hashtag và thông báo
  • Hoàn thành Admin Dashboard với các chức năng kiểm duyệt, quản lý báo cáo, quản lý thành viên và thống kê
  • Áp dụng mô hình MVC trong tổ chức mã nguồn
  • Sử dụng GitHub để quản lý source code và phối hợp nhóm
  • Deploy hệ thống lên môi trường trực tuyến bằng Railway
  • Dự án đạt 9.0/10

Điều tự hào nhất

Đây là một trong những project giúp trưởng thành rõ nhất về tư duy phát triển ứng dụng web. Trước project này, website mới chỉ được hiểu ở mức giao diện và chức năng rời rạc. Sau khi thực hiện ARCHIVE, hiểu rõ hơn cách một website thật được xây dựng từ nhiều lớp: giao diện, routing, controller, model, database, session, xác thực, phân quyền, upload file, deploy và quản lý mã nguồn. Đây cũng là project giúp sử dụng GitHub thành thạo hơn hẳn nhờ phải làm việc trên repo thật và theo dõi thay đổi liên tục.

Bài học lớn nhất

Project dạy được cách xây dựng một website hoàn chỉnh từ frontend đến backend, cách tổ chức mã nguồn theo mô hình MVC, cách thiết kế và quản lý cơ sở dữ liệu bằng MySQL và phpMyAdmin. Hiểu rõ cách dùng AJAX để xử lý tương tác động mà không cần tải lại trang, cách quản lý đăng nhập, session và phân quyền người dùng, cách tích hợp Google OAuth và Gmail OTP vào hệ thống web, và cách làm việc nhóm hiệu quả hơn thông qua GitHub. Quan trọng nhất, hình thành tư duy rằng một website không chỉ là giao diện, mà là một hệ thống có kiến trúc, dữ liệu, bảo mật, luồng xử lý và trải nghiệm người dùng.

Hạn chế

Hệ thống mới dừng ở mức đồ án học thuật, chưa tối ưu đầy đủ cho môi trường production. Một số chức năng bảo mật, phân quyền và chống spam vẫn có thể cải thiện thêm. Chưa có test tự động cho các module chính, chưa tối ưu hiệu năng cho lượng người dùng lớn, và một số luồng trải nghiệm người dùng có thể cần cải thiện thêm sau khi thu thập phản hồi thực tế.

Nếu làm lại

  • Chuẩn hóa lại kiến trúc theo hướng rõ ràng hơn giữa Controller, Service và Repository
  • Bổ sung Unit Test và Integration Test cho các chức năng quan trọng
  • Cải thiện bảo mật cho authentication, session và upload file
  • Tối ưu database index cho các truy vấn feed, tìm kiếm và thống kê
  • Viết tài liệu API hoặc technical documentation rõ ràng hơn
  • Cải thiện UI/UX dựa trên phản hồi người dùng sau khi launch
  • Xây dựng pipeline deploy rõ ràng hơn và tách môi trường development, staging, production

Bắt đầu trò chuyện

Bạn có một câu hỏi đáng để cùng khám phá?

Tôi sẵn sàng trao đổi về các vị trí dữ liệu, cơ hội hợp tác chỉn chu và câu chuyện phía sau nghiên cứu này.

Liên hệ