Dự án tiêu biểu


Những sản phẩm và dự án mã nguồn mở tôi đã phát triển

📝 Tài liệu thiết kế phần mềm (Software Design Documents)

Đây là tài liệu ghi lại quá trình phát triển dự án, mục đích, proof of concept (POC) và cách giải quyết các vấn đề gặp phải trong quá trình thực hiện: github-loc và film-db.


📊 1. Dự án github-loc

Công cụ CLI đếm số dòng code thực tế (True SLOC) và phân tích cấu trúc cây thư mục của GitHub repository.

  • Các tính năng và bài toán gặp phải khi xây dựng:
    • Trên thị trường có một số websites đếm số dòng code, tuy nhiên họ chỉ đếm các dòng có chữ (tính luôn các dòng comments). Github-loc sử dụng engine có thể đếm những dòng chứa code thật sự (True SLOC)
    • Xử lý và tối ưu thời gian xử lý, đếm dòng code nhờ vào việc tận dụng đa luồng, bất đồng bộ trong java.
    • Định dạng json cho output, hiển thị đúng thứ tự và cấp bậc thư mục cùng thông số đi kèm. Điều này giúp file output có thể được tận dụng trong tương lai cho các dự án như visualization, phân tích repo…
    • Thiết kế các cấu trúc dữ liệu cây phù hợp cho việc xử lý các files, folders, giúp dễ dàng dùng đệ quy (backtracking) để tính toán hoặc in ra output trên console
  • Tài liệu chi tiết: 👉 Đọc tài liệu kỹ thuật chi tiết của github-loc | Xem mã nguồn trên GitHub

🎬 2. Dự án film-db

Web application sử dụng bộ dữ liệu của IMDb, tích hợp công cụ tìm kiếm thông minh.

  • Các tính năng và bài toán gặp phải khi xây dựng:
    • Áp dụng kiến trúc Modular Monolith, giao tiếp giữa các modules qua mô hình event-listener giúp codebase dễ quản lý và mở rộng.
    • Tối ưu quá trình tải và import dữ liệu từ server của IMBd, giảm thiểu tối đa thời gian server phải dừng lại khi chạy import và cập nhật dữ liệu mới (Zero-downtime)
    • Xây dựng search engine thông minh, tận dụng các chức năng có sẵn của Postgres, và tự thiết kế công thức tính điểm liên quan (Relevance Score) dựa trên các insight thực tế
    • Thiết kế cơ chế bảo mật kết hợp Stateless JWT (Access Token) và Stateful HttpOnly Cookie (Refresh Token) để mang lại trải nghiệm Silent Refresh mượt mà cho người dùng.
  • Tài liệu chi tiết: 👉 Đọc tài liệu kỹ thuật chi tiết của film-db | Xem mã nguồn trên GitHub