Nguyen Van Quang Huy

Fullstack Developer

0%

Netflix Clone

Bài toán và phạm vi

Netflix Clone tái tạo hành trình khám phá nội dung với dữ liệu TMDB, từ landing page, đăng nhập, chọn profile đến màn hình Browse, tìm kiếm, My List và trình phát. Dữ liệu phim và series từ nhiều endpoint được đưa về cùng cấu trúc để các hàng nội dung, billboard và modal có thể dùng chung.

Mỗi profile có trạng thái riêng cho mã PIN, lịch sử xem, danh sách đã lưu và tiến độ đang xem. Nhờ vậy một tài khoản có thể phục vụ nhiều người mà gợi ý và hành trình xem của từng profile không bị trộn lẫn.

Cách sản phẩm hoạt động

Browse tổ chức nội dung theo xu hướng, Netflix Originals, đánh giá cao và các thể loại; modal tải thêm diễn viên, video và phim tương tự. Người dùng có thể tìm đồng thời phim lẫn series, xem trailer, lưu vào My List và quay lại đúng phần nội dung còn dang dở.

Cloud Function tạo nguồn gợi ý từ watch history, saved shows và dữ liệu profile rồi lưu cache theo profile. Phần giao diện đọc nguồn này qua hook riêng, trong khi Continue Watching được tách thành một luồng dữ liệu độc lập để dễ cập nhật và xử lý trạng thái tải.

Điểm đáng chú ý

Hồ sơ xem riêng tư. Nhiều profile và PIN giúp tách lịch sử, danh sách và tiến độ xem của từng người dùng.

Dữ liệu xem tiếp đồng bộ. Firestore lưu My List và tiến độ xem để trải nghiệm được duy trì theo từng profile.

Khám phá nội dung có ngữ cảnh. TMDB cung cấp metadata; trailer YouTube, tìm kiếm và gợi ý theo lịch sử hoàn thiện trải nghiệm duyệt phim.

Quyết định kỹ thuật

React và React Router tổ chức các route công khai, route xác thực và route bắt buộc chọn profile. Firebase Authentication quản lý tài khoản; Firestore lưu cấu trúc user, profile, saved shows, watch history và feed gợi ý.

TMDB là nguồn metadata và video; Cloud Functions giữ phần tổng hợp gợi ý ở phía server và thực hiện retry khi gọi API. Framer Motion được dùng cho chuyển động của card và modal, còn các hook gom logic xem tiếp, gợi ý và infinite scroll khỏi component hiển thị.

Công nghệ sử dụng: React 19, TypeScript, Firebase, TMDB API, Framer Motion.

Ghi chú triển khai

Mã nguồn tách API requests, dịch vụ Firebase, hooks dữ liệu và component trình bày. Ranh giới này giải quyết sự khác nhau giữa response phim, series, search và recommendation trước khi dữ liệu đi vào cùng một card hoặc modal.

Luồng bảo vệ route kiểm tra cả trạng thái đăng nhập lẫn profile hiện hành. PIN lock, xác minh email và trạng thái tải ban đầu được xử lý trước khi mở Browse để tránh hiển thị nhầm dữ liệu của profile khác.

Netflix Clone product view 1
Netflix Clone product view 2
Netflix Clone product view 3
Netflix Clone mobile view 4
Netflix Clone mobile view 5
Netflix Clone mobile view 6
Netflix Clone product view 7
Netflix Clone product view 8
Netflix Clone mobile view 9
Netflix Clone mobile view 10
Netflix Clone mobile view 11

Hãy cùng tạo nên

những sản phẩm đột phá

và ấn tượng!

Sẵn sàng khởi động dự án cùng bạn ngay hôm nay. Mình nhận các vị trí full-time, thực tập hoặc freelance, làm việc trực tiếp tại TP.HCM hoặc từ xa. Bạn có thể liên hệ nhanh qua số 0906 624 786 (gọi điện hoặc Zalo) hoặc gửi email về nguyen.van.quang.huy.2105@gmail.com.

Nguyen Van Quang Huy - Ready to collaborate