Chương trình học
- Bức tranh Tổng thể về Lập trình WEB
-
Giới thiệu, cài đặt, cấu hình môi trường lập trình
9
- Cài đặt web server XAMPP
- Cài đặt công cụ truy vấn database HeidiSQL
- Cài đặt Composer để quản lý các gói thư viện trong PHP
- Cài đặt trình soạn thảo code Visual Studio Code IDE
- Tạo tên miền ảo trên máy cục bộ (virtual host on localhost) bằng XAMPP
- Cài đặt nền tảng quản lý Source Code sử dụng GIT
- Cài đặt công cụ quản lý Source Code TortoiseGit
- Cài đặt chế độ Debug PHP với Visual Studio Code
- Tạo chứng chỉ SSL trên Localhost
- Tập làm quen với quản lý source code bằng GitHub 3
- Cài đặt framework Laravel 1
- Tìm hiểu mô hình kiến trúc MVC vận hành trong framework Laravel 4
- Sử dụng Template Engine để trình diễn nội dung trong các VIEW 3
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế CSDL
7
- Phân tích các yêu cầu, nghiệp vụ của khách hàng
- Mô hình thiết kế CSDL mẫu Sunshine
- Khởi tạo database sunshine, thiết lập kết nối CSDL trong Laravel
- Tạo cấu trúc table bằng tính năng MIGRATION trong Laravel - Danh mục phẳng
- Tạo cấu trúc table bằng tính năng MIGRATION trong Laravel - Danh mục có liên kết khóa ngoại
- Tạo dữ liệu ban đầu cho CSDL bằng tính năng SEED trong Laravel - Danh mục phẳng
- Tạo dữ liệu ban đầu cho CSDL bằng tính năng SEED trong Laravel - Danh mục có liên kết khóa ngoại
- Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Ánh xạ CSDL và Laravel 3
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế Backend
20
- Thiết kế bố cục (layouts) cho giao diện Backend
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (index)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (create)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (edit)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (delete)
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Index
- Lưu đồ Upload file từ Client lên Server
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Create
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Edit
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Delete
- Xây dựng danh mục Sản phẩm có chức năng upload nhiều Hình ảnh cùng lúc
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Bổ sung menu vào sidebar
- Xây dựng chức năng xuất biểu mẫu và In ấn trực tiếp trên web
- Xây dựng chức năng xuất Excel
- Xây dựng chức năng xuất PDF
- Tạo chức năng Đăng nhập
- Lưu đồ Kiểm tra ràng buộc dữ liệu (Validation)
- Kiểm tra ràng buộc dữ liệu (Validation) phía Client
- Kiểm tra ràng buộc dữ liệu (Validation) phía Server
- Bài tập tổng hợp - Tạo các chức năng Backend cho trang web đọc Truyện Tranh và Tiểu Thuyết Online sử dụng Laravel framework
- AngularJS 7
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế Frontend sử dụng AngularJS
11
- Thiết kế bố cục (layouts) cho giao diện Frontend
- Tích hợp AngularJS vào framework Laravel
- Tạo giao diện trang chủ (index)
- Tạo giao diện trang Giới thiệu (about)
- Tạo giao diện trang Liên hệ (contact)
- Tạo trang danh sách Sản phẩm (product)
- Tạo nút Thêm vào giỏ hàng cho từng sản phẩm (add-to-cart)
- Tạo trang Chi tiết Sản phẩm (product-detail)
- Tạo giỏ hàng (cart sidebar)
- Tạo trang thanh toán (checkout)
- Tạo đơn hàng và gởi mail xác nhận
-
Bonus
9
- Đa ngôn ngữ trong Laravel
- Tạo báo cáo với biểu đồ ChartJS
- Tạo khung chọn Ngày tháng cho dự án
- Tạo các trang thông báo lỗi tương ứng STATUS CODE
- Kiểm tra ứng dụng với tunnel ảo NGROK
- Phân trang trong Laravel
- Bổ sung khung xem Hình ảnh trước khi upload (preview image upload)
- Tạo API trong Laravel và sử dụng AngularJS để hiển thị giao diện
- Cách tự động sinh Ảnh nhiều kích cỡ (Automatic resize image) khi upload file Ảnh
- Danh sách Đồ án xây dựng trang web sử dụng LARAVEL 2
- Tài liệu tham khảo 3
- Thực hiện Đồ án 1
Chương 9-Bài 20. Bài tập tổng hợp - Tạo các chức năng Backend cho trang web đọc Truyện Tranh và Tiểu Thuyết Online sử dụng Laravel framework
Mô tả
Có một Khách hàng mong muốn xây dựng 1 trang web cho người dùng có thể đọc Truyện Tranh và Tiểu Thuyết online. Khách hàng muốn có thể tự quản lý được các Truyện Tranh và Tiểu thuyết có trong hệ thống (có thể Thêm mới, Xóa, hoặc hiệu chỉnh thông tin...). Giao diện yêu cầu đơn giản, sáng và đẹp. Đặc biệt, có thể xem trên di động được, vì đa số người dùng sử dụng các thiết bị thông minh như Máy tính bảng, Điện thoại để xem truyện tranh và tiểu thuyết nhiều hơn trên máy tính.Yêu cầu
1. Về thiết kế Database
- Có thể lưu trữ được các thông tin về Truyện như:
Mã số
: có thể dùng để tìm kiếm thông tin nhanh sau nàyTên truyện
: tên truyệnHình ảnh đại diện
: dùng để làm hình minh họa khi hiển thị dạng danh sách truyện tranh.Loại truyện
: nếu là #1 thì là Tiểu thuyết; nếu là #2 thì là Truyện tranhThể loại
: truyện cần phân theo các thể loại như Kiếm hiệp, Thiếu nhi, Trinh thám, ... để người dùng dễ dàng phân nhóm, tìm kiếm theo thể loại yêu thíchTác giả
: tên tác giả của truyệnMô tả ngắn
: các dòng mô tả ngắn gọn, xúc tích về truyện.Ngày đăng truyện
- Mỗi 1 Truyện có thể có 1 hoặc nhiều Chương truyện, cần lưu trữ thông tin này. Mỗi chương/tập thì có nội dung dạng chữ (nếu là Tiểu thuyết), các hình ảnh (nếu là Truyện tranh). Mỗi chương/tập thì phải có số, tên chương/tập đó.
Số chương/tập
: ví dụ Chương 1, Chương 2, Tập 1, Tập 2...Tên chương/tập
: ví dụ: Chương 1 - Mở đầu; Chương 2 - Trong Tửu Quán Phát Sinh Án Mạng; Tập 1 - Thăm công viên Khủng LongNội dung chương/tập
: nội dung của chương/tập đó.
- Nếu là Truyện loại Truyện Tranh thì có khả năng có rất nhiều hình ảnh trong 1 tập truyện, cần có bảng lưu trữ các hình ảnh thuộc về Chương/Tập đó
Câu 1: Thiết kế database
Schema
Có thể sử dụng thiết kế database sau để thực hiện.- Đây là phiên bản database đơn giản, có thể tủy chỉnh thêm theo nhu cầu của các bạn.
Dữ liệu mẫu
- Table
truyen
- Table
chuong
- Table
chuong_hinhanh
Sử dụng MIGRATION và SEED để tạo dữ liệu mẫu.
Câu 2: Về thiết kế Web
- Cần có các phân vùng
backend
rõ ràng cho Người quản trị web (Admin) sử dụng. - Giao diện cần sáng, và thiết kế
responsive
. Có thể sử dụng Bootstrap để thực hiện
UI cơ bản về Backend
Tự thiết kế theo CRUD (Create - Read - Update - Delete) các chức năng.Tạo chức năng CRUD cho Danh mục Truyện
Nếu người dùng (client) gởi các request đến server thì Laravel sẽ điều hướng đến các action cụ thể như bảng trên. Ví dụ:- http://tenmiencuaban.com/admin/truyen (GET) -> Laravel sẽ điều hướng đến action index() trong controller Backend\TruyenController.
- http://tenmiencuaban.com/admin/truyen/create (GET) -> Laravel sẽ điều hướng đến action create() trong controller Backend\TruyenController.
- http://tenmiencuaban.com/admin/truyen (POST) -> Laravel sẽ điều hướng đến action store() trong controller Backend\TruyenController.
- http://tenmiencuaban.com/admin/truyen/1/edit (GET) -> Laravel sẽ điều hướng đến action edit() trong controller Backend\TruyenController.
- http://tenmiencuaban.com/admin/truyen/1 (PUT/PATCH) -> Laravel sẽ điều hướng đến action update() trong controller Backend\TruyenController.
- http://tenmiencuaban.com/admin/truyen/1 (DELETE) -> Laravel sẽ điều hướng đến action destroy() trong controller Backend\TruyenController.
Tạo chức năng CRUD cho Chương
Nếu người dùng (client) gởi các request đến server thì Laravel sẽ điều hướng đến các action cụ thể như bảng trên. Ví dụ:- http://tenmiencuaban.com/admin/chuong (GET) -> Laravel sẽ điều hướng đến action index() trong controller Backend\ChuongController.
- http://tenmiencuaban.com/admin/chuong/create (GET) -> Laravel sẽ điều hướng đến action create() trong controller Backend\ChuongController.
- http://tenmiencuaban.com/admin/chuong (POST) -> Laravel sẽ điều hướng đến action store() trong controller Backend\ChuongController.
- http://tenmiencuaban.com/admin/chuong/1/edit (GET) -> Laravel sẽ điều hướng đến action edit() trong controller Backend\ChuongController.
- http://tenmiencuaban.com/admin/chuong/1 (PUT/PATCH) -> Laravel sẽ điều hướng đến action update() trong controller Backend\ChuongController.
- http://tenmiencuaban.com/admin/chuong/1 (DELETE) -> Laravel sẽ điều hướng đến action destroy() trong controller Backend\ChuongController.
chuong_hinhanh
Gợi ý, hướng dẫn thực hiện
Step 1: download Laravel
Để tiết kiệm thời gian, download phiên bản Laravel 5.5.* (đã bao gồm các thư viện frontend như Bootstrap, JQuery, Jquery Validation, ...)- Download tại đây: truyenonline_frontend_libs_included
Step 2: tham khảo lại các chức năng cũ và copy thực hiện lại chức năng
Chúc các bạn thành công 💚💜💙!Mục lục
Các bài học
Bài học trước Bài học tiếp theo
Chương trình học
Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...Chương trình học
- Bức tranh Tổng thể về Lập trình WEB
-
Giới thiệu, cài đặt, cấu hình môi trường lập trình
9
- Cài đặt web server XAMPP
- Cài đặt công cụ truy vấn database HeidiSQL
- Cài đặt Composer để quản lý các gói thư viện trong PHP
- Cài đặt trình soạn thảo code Visual Studio Code IDE
- Tạo tên miền ảo trên máy cục bộ (virtual host on localhost) bằng XAMPP
- Cài đặt nền tảng quản lý Source Code sử dụng GIT
- Cài đặt công cụ quản lý Source Code TortoiseGit
- Cài đặt chế độ Debug PHP với Visual Studio Code
- Tạo chứng chỉ SSL trên Localhost
- Tập làm quen với quản lý source code bằng GitHub 3
- Cài đặt framework Laravel 1
- Tìm hiểu mô hình kiến trúc MVC vận hành trong framework Laravel 4
- Sử dụng Template Engine để trình diễn nội dung trong các VIEW 3
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế CSDL
7
- Phân tích các yêu cầu, nghiệp vụ của khách hàng
- Mô hình thiết kế CSDL mẫu Sunshine
- Khởi tạo database sunshine, thiết lập kết nối CSDL trong Laravel
- Tạo cấu trúc table bằng tính năng MIGRATION trong Laravel - Danh mục phẳng
- Tạo cấu trúc table bằng tính năng MIGRATION trong Laravel - Danh mục có liên kết khóa ngoại
- Tạo dữ liệu ban đầu cho CSDL bằng tính năng SEED trong Laravel - Danh mục phẳng
- Tạo dữ liệu ban đầu cho CSDL bằng tính năng SEED trong Laravel - Danh mục có liên kết khóa ngoại
- Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Ánh xạ CSDL và Laravel 3
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế Backend
20
- Thiết kế bố cục (layouts) cho giao diện Backend
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (index)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (create)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (edit)
- Xây dựng chức năng CRUD (Thêm, Sửa, Xóa, Xem) danh mục phẳng - Loại sản phẩm (delete)
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Index
- Lưu đồ Upload file từ Client lên Server
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Create
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Edit
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Delete
- Xây dựng danh mục Sản phẩm có chức năng upload nhiều Hình ảnh cùng lúc
- Xây dựng danh mục Sản phẩm có chức năng upload hình ảnh - Bổ sung menu vào sidebar
- Xây dựng chức năng xuất biểu mẫu và In ấn trực tiếp trên web
- Xây dựng chức năng xuất Excel
- Xây dựng chức năng xuất PDF
- Tạo chức năng Đăng nhập
- Lưu đồ Kiểm tra ràng buộc dữ liệu (Validation)
- Kiểm tra ràng buộc dữ liệu (Validation) phía Client
- Kiểm tra ràng buộc dữ liệu (Validation) phía Server
- Bài tập tổng hợp - Tạo các chức năng Backend cho trang web đọc Truyện Tranh và Tiểu Thuyết Online sử dụng Laravel framework
- AngularJS 7
-
Dự án thực tế mẫu - Trang web bán hàng trực tuyến - Thiết kế Frontend sử dụng AngularJS
11
- Thiết kế bố cục (layouts) cho giao diện Frontend
- Tích hợp AngularJS vào framework Laravel
- Tạo giao diện trang chủ (index)
- Tạo giao diện trang Giới thiệu (about)
- Tạo giao diện trang Liên hệ (contact)
- Tạo trang danh sách Sản phẩm (product)
- Tạo nút Thêm vào giỏ hàng cho từng sản phẩm (add-to-cart)
- Tạo trang Chi tiết Sản phẩm (product-detail)
- Tạo giỏ hàng (cart sidebar)
- Tạo trang thanh toán (checkout)
- Tạo đơn hàng và gởi mail xác nhận
-
Bonus
9
- Đa ngôn ngữ trong Laravel
- Tạo báo cáo với biểu đồ ChartJS
- Tạo khung chọn Ngày tháng cho dự án
- Tạo các trang thông báo lỗi tương ứng STATUS CODE
- Kiểm tra ứng dụng với tunnel ảo NGROK
- Phân trang trong Laravel
- Bổ sung khung xem Hình ảnh trước khi upload (preview image upload)
- Tạo API trong Laravel và sử dụng AngularJS để hiển thị giao diện
- Cách tự động sinh Ảnh nhiều kích cỡ (Automatic resize image) khi upload file Ảnh
- Danh sách Đồ án xây dựng trang web sử dụng LARAVEL 2
- Tài liệu tham khảo 3
- Thực hiện Đồ án 1
Bài học trước Bài học tiếp theo
Menu Tiện ích
Menu Hướng dẫn Học tập
❤🧡💛💚💙💜 Học là phải THỰC HÀNH ❤🧡💛💚💙💜
Thực hiện các bước tuần tự theo nội dung Bài học nhé!