Link to original video by Code HQ
Build An Anime App with Flutter and REST API

Tóm tắt video hướng dẫn xây dựng ứng dụng Anime với Flutter và REST API
Tóm tắt ngắn gọn:
- Video hướng dẫn xây dựng một ứng dụng xem anime bằng Flutter, sử dụng REST API để lấy dữ liệu.
- Các điểm chính bao gồm sử dụng API từ trang web anime, xây dựng model dữ liệu, thực hiện các API call với package HTTP, thiết kế giao diện người dùng với các thành phần như bottom navigation bar, carousel slider, grid view, xử lý tìm kiếm, phân loại theo thể loại, chế độ tối và lưu trữ dữ liệu cục bộ với Shared Preferences.
- Ứng dụng cho phép người dùng xem thông tin anime, tìm kiếm, duyệt theo thể loại, tùy chỉnh giao diện.
- Video hướng dẫn chi tiết quy trình xây dựng ứng dụng từ đầu, bao gồm tạo project, cài đặt thư viện, xây dựng model, gọi API, thiết kế giao diện và xử lý logic.
Tóm tắt chi tiết:
- Giới thiệu và thiết lập API: Hướng dẫn đăng ký và lấy API key từ trang web anime, giải thích cách sử dụng API documentation.
- Clone project và cài đặt thư viện: Hướng dẫn clone project từ GitHub, cài đặt các thư viện cần thiết như carousel_slider, http, shared_preferences, cached_network_image.
- Xây dựng Model: Giải thích và tạo các model dữ liệu để lưu trữ thông tin anime từ API. Các model phức tạp được copy-paste để tiết kiệm thời gian.
- Thực hiện API call: Tạo các hàm gọi API để lấy dữ liệu anime theo nhiều tiêu chí khác nhau (xếp hạng, tìm kiếm, theo mùa, chi tiết anime). Sử dụng package HTTP để thực hiện các request.
- Xây dựng giao diện người dùng (UI):
- Tạo bottom navigation bar với NavigationBar widget (Material 3).
- Xây dựng màn hình chính với carousel slider hiển thị anime nổi bật, danh sách anime theo thể loại (top ranked, popular, movies, upcoming).
- Tạo widget hiển thị danh sách anime dạng nằm ngang và dọc.
- Xây dựng màn hình chi tiết anime, hiển thị ảnh, tiêu đề, mô tả, thông tin chi tiết, ảnh nền, anime liên quan và đề xuất.
- Tạo widget ReadMoreText để hiển thị mô tả dài.
- Xây dựng màn hình tìm kiếm với SearchDelegate.
- Xây dựng màn hình danh mục với TabBar và TabBarView hiển thị anime theo thể loại.
- Chế độ tối và lưu trữ dữ liệu:
- Sử dụng Shared Preferences để lưu trữ cài đặt người dùng (chế độ tối, ngôn ngữ tiêu đề anime).
- Tạo ThemeCubit và AnimeTitleLanguageCubit để quản lý trạng thái ứng dụng với bloc.
- Xây dựng màn hình cài đặt với các switch để bật/tắt chế độ tối và chọn ngôn ngữ tiêu đề anime.
Video hướng dẫn rất chi tiết từng bước, từ việc thiết lập API, xây dựng model, gọi API, đến thiết kế giao diện và xử lý logic. Người xem có thể dễ dàng làm theo để xây dựng ứng dụng tương tự. Việc sử dụng các thư viện và bloc giúp tối ưu hóa quá trình phát triển.