Comics Reading Platform - Copy this Html, Bootstrap Component to your project
####-1.-Cấu-trúc-dự-án-otruyencms/-├──-app/-│-├──-Http/-│-│-├──-Controllers/-│-│-│-├──-HomeController.php-(Hiển-thị-trang-chủ)-│-│-│-├──-ComicController.php-(Xử-lý-chi-tiết-truyện-và-chương-truyện)-│-│-│-├──-ChapterController.php-(Xử-lý-đọc-chương)-│-│-│-├──-AuthController.php-(Đăng-nhập,-đăng-ký,-đăng-xuất)-│-│-│-└──-AdminController.php-(Dashboard-quản-lý-truyện)-│-├──-Models/-│-├──-User.php-(Mô-hình-người-dùng)-│-├──-Comic.php-(Mô-hình-truyện)-│-└──-Chapter.php-(Mô-hình-chương)-├──-config/-│-├──-app.php-(Cấu-hình-ứng-dụng)-│-└──-database.php-(Cấu-hình-cơ-sở-dữ-liệu)-├──-database/-│-├──-migrations/-│-│-├──-2024_12_05_000000_create_users_table.php-│-│-├──-2024_12_05_000001_create_comics_table.php-│-│-└──-2024_12_05_000002_create_chapters_table.php-│-└──-seeders/-│-├──-UserSeeder.php-│-├──-ComicSeeder.php-│-└──-ChapterSeeder.php-├──-public/-│-├──-css/-│-│-└──-style.css-(CSS-cho-giao-diện)-│-├──-js/-│-│-└──-app.js-(JavaScript-giao-diện)-│-└──-images/-(Chứa-ảnh-bìa-minh-họa-truyện)-├──-resources/-│-├──-views/-│-│-├──-auth/-│-│-│-├──-login.blade.php-(Giao-diện-đăng-nhập)-│-│-│-└──-register.blade.php-(Giao-diện-đăng-ký)-│-│-├──-comics/-│-│-│-├──-details.blade.php-(Giao-diện-chi-tiết-truyện)-│-│-│-└──-chapter.blade.php-(Giao-diện-đọc-chương)-│-│-├──-admin/-│-│-│-└──-dashboard.blade.php-(Quản-lý-truyện---admin)-│-│-└──-home.blade.php-(Trang-chủ)-├──-routes/-│-└──-web.php-(Định-nghĩa-các-route)-├──-storage/-├──-tests/-├──-.env-(Cấu-hình-môi-trường)-├──-artisan-(CLI-của-Laravel)-├──-composer.json-(Quản-lý-package-PHP)-└──-README.md-(Tài-liệu-dự-án)-####-2.-Chi-tiết-các-chức-năng-A.-Frontend-1.-Trang-chủ-(Home-Page):---Phần-"Truyện-Hay":---Hiển-thị-danh-sách-các-truyện-nổi-bật-(ảnh-bìa,-tên-truyện,-số-chương).---API:-https://otruyenapi.com/v1/api/home.---Phần-"Truyện-Mới-Cập-Nhật":---Hiển-thị-danh-sách-các-truyện-mới-cập-nhật.-2.-Trang-chi-tiết-truyện-(Comic-Details):---Hiển-thị-thông-tin-truyện-(ảnh-bìa,-tên-truyện,-tác-giả,-trạng-thái,-lượt-thích,-lượt-xem).---Danh-sách-các-chương-truyện.---API:-https://otruyenapi.com/v1/api/truyen-tranh/{slug}.-3.-Trang-đọc-chương-truyện-(Chapter-Reading):---Hiển-thị-nội-dung-chương.---Nút-điều-hướng-giữa-các-chương.---API:-https://sv1.otruyencdn.com/v1/api/chapter/{id}.-4.-Tìm-kiếm-truyện:---Form-tìm-kiếm-truyện-theo-tên.---API:-https://otruyenapi.com/v1/api/tim-kiem?keyword={tukhoa}.-5.-Giao-diện-người-dùng:---Dark-mode-(chuyển-đổi-giữa-sáng/tối).---Responsive-(hiển-thị-tốt-trên-điện-thoại-và-máy-tính).-B.-Backend-1.-Đăng-nhập-&-Đăng-ký:---Sử-dụng-Laravel-Authentication.---Người-dùng-có-thể-đăng-nhập-để-quản-lý-truyện-yêu-thích.-2.-Quản-lý-truyện-(Admin-Panel):---Quản-lý-danh-sách-truyện,-thể-loại,-chương.---Dashboard-thống-kê-lượt-đọc,-truyện,-người-dùng.-3.-Crawler-API:---Crawler-tự-động-lấy-dữ-liệu-truyện-từ-API-(sử-dụng-GuzzleHTTP).---Cấu-hình-API:---Lấy-danh-sách-truyện:-https://otruyenapi.com/v1/api/danh-sach/truyen-moi.---Lấy-thể-loại:-https://otruyenapi.com/v1/api/the-loai.-####-3.-Yêu-cầu-chi-tiết-về-công-nghệ-1.-Laravel-Framework:---Version->=-9.x.---Authentication-bằng-laravel/ui.-2.-Frontend:---Sử-dụng-Blade-Template-+-Bootstrap-5.---Tích-hợp-dark-mode.-3.-Cơ-sở-dữ-liệu:---Bảng-`users`:---`id`,-`name`,-`email`,-`password`.---Bảng-`comics`:---`id`,-`name`,-`slug`,-`image`,-`description`,-`status`,-`views`.---Bảng-`chapters`:---`id`,-`comic_id`,-`chapter_number`,-`title`,-`content`.-4.-Thư-viện:---GuzzleHTTP:-Gọi-API-lấy-dữ-liệu-truyện.---Laravel-Pagination:-Phân-trang-danh-sách-truyện.-####-4.-Chức-năng-bổ-sung-1.-Dark-mode:---Thêm-công-tắc-chuyển-đổi-giao-diện-sáng/tối.-2.-Lịch-sử-đọc-truyện:---Lưu-chương-truyện-mà-người-dùng-đã-đọc.-3.-Bookmark/Yêu-thích:---Cho-phép-người-dùng-lưu-truyện-yêu-thích.
