Professional Documents
Culture Documents
27/04/2023
Đề tài Giáo Viên Hướng Dẫn:
Mục Lục
Mục Lục Hình Ảnh...................................................................................................................4
Mục Lục Bản.............................................................................................................................4
BẢNG DANH MỤC TỪ VIẾT TẮT.......................................................................................4
LỜI MỞ ĐẦU............................................................................................................................5
TỔNG QUAN CÔNG TY........................................................................................................5
GIỚI THIỆU CHUNG............................................................................................................5
1. Chi nhánh................................................................................................................5
2. Người đại diện.........................................................................................................5
3. Lĩnh vực...................................................................................................................5
PHÂN TÍCH HIỆN TRẠNG CÔNG TY, CÔNG VIỆC.......................................................5
1...................................................................................... Chi tiết các công việc được phân công
.................................................................................................................................................5
1.1. Github......................................................................................................................6
1.1.1. Giới thiệu..........................................................................................................6
1.1.2. Đã học được.....................................................................................................6
1.1.3. Vướng mắc, tồn đọng......................................................................................7
2.................................................................................................................................................. OPP
.................................................................................................................................................7
2.1. Giới thiệu.................................................................................................................7
2.2. Đã học được.............................................................................................................8
3.................................................................................................................................................. PHP
.................................................................................................................................................8
3.1. Giới thiệu.................................................................................................................8
3.2. Đã học được.............................................................................................................9
4........................................................................................................................................... WordPress
.....................................................................................................................................................9
4.1. Giới thiệu.................................................................................................................9
4.2. Đã học được...........................................................................................................10
4.3. Vướng mắc, tồn đọng...........................................................................................10
5............................................................................................................................................. Laravel
...............................................................................................................................................10
5.1. Giới thiệu...............................................................................................................10
2
Đề tài Giáo Viên Hướng Dẫn:
5.2. Đã học được...........................................................................................................11
5.3. Vướng mắc, tồn đọng...........................................................................................11
6............................................................................................................. Tạo 1 project hoàn chỉnh
...............................................................................................................................................11
6.1. Giới thiệu...............................................................................................................11
6.2. Ngôn ngữ sử dụng.................................................................................................12
6.3. USE CASE.............................................................................................................12
6.4. Cơ sở dữ liệu.........................................................................................................13
6.5. Giao diện................................................................................................................14
6.5.1. Đăng ký...........................................................................................................14
6.5.2. Đăng nhập......................................................................................................15
6.5.3. Trang quản lý................................................................................................15
6.5.4. Trang quản lý Đơn hàng...............................................................................16
6.5.5. Trang quản lý Products................................................................................16
6.5.6. Trang quản lý Producers..............................................................................17
6.5.7. Trang quản lý User.......................................................................................18
6.5.8. Trang tổng hợp thống kế doanh thu............................................................19
6.5.9. Trang bán hàng.............................................................................................19
6.5.10 Trang Thức ăn & thức uống...........................................................................20
6.5.10. Thêm vào giỏ hàng.....................................................................................21
6.5.11. Thanh toán.................................................................................................22
6.5.12. Sản phẩm & Dịch vụ.................................................................................22
6.5.13. Trang Ưu đãi đặt biệt................................................................................23
GIẢI PHÁP ĐỀ XUẤT VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN............................................23
1.....Đề xuất để xử lý các tồn đọng và vướng mắc theo hướng áp dụng công nghệ thông
tin..........................................................................................................................................23
2.................................................................................... Đề xuất phương hướng cải tiến công ty
...............................................................................................................................................24
TÀI LIỆU THAM KHẢO........................................................................................................24
3
Đề tài Giáo Viên Hướng Dẫn:
4
Đề tài Giáo Viên Hướng Dẫn:
LỜI MỞ ĐẦU
Em tên là Bùi Hữu Đạt học chuyên ngành công nghệ thông tin, hiện đang là
sinh lớp lớp 61TH1 Trường phân hiệu Đại học Thủy Lợi.
Trong quá trình học tập tại trường Phân hiệu Đạt học Thủy lợi, viêc thực tập là một
phần quan trọng trong chương trình đào tạo, giúp sinh viên có cơ hội tiếp cần với môi
trường làm việc thực tế, rèn luyện kỹ năng và nâng cao kiến thức chuyên môn. Trong
khuôn khổ chương trình thực tập, em đã có cơ hội tham gia thực tập tại công ty TNHH
THƯƠNG MẠI DỊCH VỤ MULTIMEDIAVIET với chức vụ thực tập sinh.
Báo cáo thực tập danh nghiệp này được viết nhằm tổng hợp lại những kinh nghiệm, kỹ
năng và kiến thức em đã học được trong quá trình thực tập, đồng thời phân tích và
đánh giá những hoạt động, công việc em đã tham gia và đóng góp tại công ty TNHH
THƯƠNG MẠI DỊCH VỤ MULTIMEDIAVIET.
Báo cáo được chia thành các phần cụ thể như sau:
Phần 1: Giới thiệu về công ty TNHH THƯƠNG MẠI DỊCH VỤ
MULTIMEDIAVIET.
Phần 2: Trình bày chi tiếp về công việc mà em đã được giao, các kỹ năng em đã học
được trong quá trình thực tập.
Phần 3: Đánh giá những điểm mạnh và điểm cần cải thiện trong quá trình thực tập,
đồng thời đề xuất những giải pháp cải thiện.
Phần 4: Tổng kết lại quá trình học tập, kinh nghiệp đã học được.
5
Đề tài Giáo Viên Hướng Dẫn:
Vị trí địa lý của chi nhánh này tương đối thuận lợi khi nằm trong khu đô thị Vạn Phúc,
kế cận với nhiều khu công nghiệp, khu dân cư, trung tâm thương mại.
2. Người đại diện
Công ty TNHH Thương mại Dịch vụ MultimediaViet có giám đốc là PHÙNG
VĂN TÚC. Công ty TNHH Thương mại Dịch vụ MultimediaViet đại diện cho Công
ty TNHH Dịch vụ MTGroup. Người đại diện là Nguyễn Văn Vương, cũng là người
trực tiếp quản lý và hướng dẫn em thực tập tại công ty.
3. Lĩnh vực
Công ty TNHH Thương mại Dịch vụ MultimediaViet hoạt động trong lĩnh vực
thương mại và dịch vụ. Công ty có khoảng 26 ngành nghề kinh doanh với một số
ngành chính như:
- Lập trình máy tính
- Tổ chức giới thiệu và xúc tiến thương mại
- Xuất bản phần mềm
- Quảng cáo
- Hoạt động sáng tác, nghệ thuật giải trí
- Nghiên cứu thị trường, tham dò dư luận
- Xử lý dữ liệu, cho thuê các hoạt động liên quan
- Cổng thông tin
PHÂN TÍCH HIỆN TRẠNG CÔNG TY, CÔNG VIỆC
1. Chi tiết các công việc được phân công
Ban đầu em được hướng dẫn làm việc nhóm, các sử dụng github để làm việc
nhóm hiệu quả hơn. Sau đó em được học và tìm hiểu về PHP, ôn lại các cú
pháp cơ bản học thêm về OPP (lập trình hướng đối tượng), cách tạo 1 website,
kết nối sql server và gọi dữ liệu từ server.
Khi đã nắm vững được kiến thức PHP em được hướng dẫn tạo website bằng
WordPress, import và sử dụng các thư viện, template mà WP hỗ trợ.
Sau đó em được học về Laravel, tìm hiểu về Laragon, xây dựng 1 API
RESTFull data từ database.
Cuối cùng thì em được giao nhiệm vụ là tạo ra một website với api được viết
bằng Laravel để công ty đánh giá những gì em đã học vừa qua.
1.1. Github
1.1.1. Giới thiệu
GitHub là một nền tảng lưu trữ mã nguồn phổ biến được sử dụng bởi cộng đồng phát
triển phần mềm. Nó cho phép các nhà phát triển lưu trữ mã nguồn của họ trên các kho
chứa công khai hoặc riêng tư và quản lý chi tiết các phiên bản của mã nguồn.
Các tính năng chính của GitHub bao gồm:
6
Đề tài Giáo Viên Hướng Dẫn:
Lưu trữ mã nguồn: GitHub cho phép các nhà phát triển lưu trữ mã nguồn của họ trên
các kho chứa công khai hoặc riêng tư.
Quản lý phiên bản: GitHub cung cấp tính năng quản lý phiên bản giúp theo dõi các
thay đổi trong mã nguồn, cho phép các nhà phát triển làm việc trên nhiều phiên bản
của cùng một mã nguồn cùng một lúc.
Hợp tác và đóng góp: GitHub có tính năng giúp các nhà phát triển hợp tác với nhau để
phát triển phần mềm một cách hiệu quả. Bằng cách tạo các pull request, các nhà phát
triển có thể đóng góp vào các dự án mã nguồn mở.
Vấn đề và báo cáo lỗi: GitHub cung cấp tính năng để quản lý các vấn đề và báo cáo lỗi
trong phần mềm.
Tích hợp công cụ phát triển: GitHub tích hợp với nhiều công cụ phát triển khác nhau
như Visual Studio, Eclipse, Xcode,...
GitHub là một nền tảng rất mạnh mẽ cho các nhà phát triển phần mềm để quản lý mã
nguồn của họ và hợp tác với nhau để phát triển phần mềm chất lượng.
8
Đề tài Giáo Viên Hướng Dẫn:
Tăng tính bảo mật: OPP giúp tăng tính bảo mật của ứng dụng bằng cách giới hạn truy
cập đến các thành phần của đối tượng. Điều này giúp ngăn chặn các cuộc tấn công từ
các hacker hoặc người dùng không đúng quyền truy cập.
Hiểu được khái niệm đa hình: Đa hình là một khái niệm quan trọng trong OPP. Giúp
cho việc mở rộng và bảo trì ứng dụng dễ dàng hơn.
Phát triển các kỹ năng lập trình: Học OPP giúp phát triển kỹ năng lập trình cơ bản như
xây dựng lớp, thiết kế giao diện người dùng và quản lý cơ sở dữ liệu.
Khả năng mở rộng và tái sử dụng mã nguồn: Có thể tạo ra các đối tượng mới bằng
cách kế thừa từ các đối tượng đã có sẵn và tái sử dụng mã nguồn. Điều này giúp tiết
kiệm thời gian và chi phí trong quá trình phát triển ứng dụng.
3. PHP
3.1. Giới thiệu
PHP là ngôn ngữ lập trình mã nguồn mở được sử dụng rộng rãi để phát triển các ứng
dụng web động. PHP được thiết kế để chạy trên máy chủ web và tạo ra mã HTML
được gửi đến trình duyệt của người dùng.
PHP có thể được sử dụng để xây dựng các trang web động, quản lý cơ sở dữ liệu, xử
lý biểu mẫu và tạo các trang web thương mại điện tử. Nó hỗ trợ nhiều cơ sở dữ liệu
khác nhau như MySQL, PostgreSQL và Microsoft SQL Server.
PHP có nhiều tính năng tiện ích cho phát triển web, bao gồm:
Cú pháp đơn giản: PHP sử dụng cú pháp đơn giản và thuận tiện, trong đó các đoạn mã
PHP được chèn vào giữa mã HTML.
Hỗ trợ đa nền tảng: PHP có thể chạy trên nhiều hệ điều hành khác nhau như Windows,
Linux, Unix và MacOS.
Hỗ trợ mở rộng: PHP hỗ trợ các thư viện và framework bổ sung để giúp phát triển ứng
dụng web nhanh chóng và hiệu quả hơn.
Tính bảo mật: PHP cung cấp các tính năng bảo mật như mã hóa, kiểm tra đầu vào và
xử lý lỗi để giúp ngăn chặn các cuộc tấn công web.
PHP được sử dụng rộng rãi trên toàn thế giới cho phát triển các ứng dụng web động.
Các framework PHP phổ biến hiện nay bao gồm Laravel, Symfony và CodeIgniter.
4. WordPress
4.1. Giới thiệu
WordPress là một nền tảng quản lý nội dung (CMS) miễn phí và mã nguồn mở, được
sử dụng để xây dựng các trang web và blog. WordPress được viết bằng ngôn ngữ PHP
và sử dụng cơ sở dữ liệu MySQL.
WordPress cung cấp một giao diện quản trị để quản lý nội dung trên trang web, cho
phép người dùng tạo và quản lý các bài viết, trang, danh mục, ảnh và video. Ngoài ra,
WordPress cũng hỗ trợ các chức năng mở rộng thông qua các plugin và theme.
Các plugin là các phần mềm có thể được cài đặt vào WordPress để cung cấp các tính
năng bổ sung. Ví dụ như các plugin cho phép tạo biểu mẫu liên hệ, hiển thị các bài viết
liên quan, tạo các trang landing page, v.v. Các theme là các mẫu thiết kế giao diện cho
trang web WordPress, cho phép người dùng tuỳ chỉnh trang web của mình một cách dễ
dàng.
WordPress cũng cung cấp các tính năng bảo mật và SEO (tối ưu hóa công cụ tìm
kiếm), giúp tăng khả năng tìm thấy trang web trên các công cụ tìm kiếm như Google.
WordPress là một nền tảng rất phổ biến với hơn 40% các trang web trên internet được
xây dựng bằng WordPress. Điều này đồng nghĩa với việc người dùng có thể tìm thấy
nhiều tài nguyên hỗ trợ cho việc sử dụng và tùy chỉnh WordPress, từ các hướng dẫn
trực tuyến đến các diễn đàn cộng đồng chia sẻ kiến thức và kinh nghiệm.
4.2. Đã học được
Thiết kế trang web: WordPress cung cấp các chủ đề, plugin và công cụ tạo bố cục để
thiết kế trang web dễ dàng hơn.
Quản lý nội dung: WordPress cho phép quản lý và xuất bản các loại nội dung khác
nhau như bài viết blog, trang tĩnh, trang sản phẩm, danh mục và hơn thế nữa.
Tối ưu hóa công cụ tìm kiếm (SEO): WordPress cung cấp các plugin và công cụ tối ưu
hóa SEO để giúp tăng cường khả năng tìm thấy trang web của mình trên các công cụ
tìm kiếm.
Phát triển web: WordPress cũng cung cấp một loạt các API và khung làm việc để giúp
phát triển các plugin và chủ đề tùy chỉnh.
10
Đề tài Giáo Viên Hướng Dẫn:
Quản lý dữ liệu: WordPress cho phép quản lý toàn bộ dữ liệu trang web, bao gồm các
bài viết, hàng hóa, khách hàng và hơn thế nữa.
4.3. Vướng mắc, tồn đọng
Không biết cách tối ưu hóa trang web: Một trong những yếu tố quan trọng để có được
một trang web tốt là tối ưu hóa cho tốc độ và SEO. Dẫn đến trang web có thể bị chậm
hoặc không xuất hiện trên các công cụ tìm kiếm.
Không có kỹ năng thiết kế đồ họa: Chưa có kỹ năng thiết kế đồ họa để tạo logo,
banner và các hình ảnh cho trang web.
5. Laravel
5.1. Giới thiệu
Laravel là một trong những framework phát triển web PHP phổ biến nhất hiện nay.
Laravel cung cấp các công cụ và thư viện mạnh mẽ để giúp phát triển các ứng dụng
web động nhanh chóng và dễ bảo trì.
Laravel được viết bằng ngôn ngữ PHP và sử dụng kiến trúc MVC (Model-View-
Controller), giúp tách riêng các thành phần của ứng dụng web ra khỏi nhau, giúp cho
mã nguồn dễ bảo trì hơn.
Các tính năng của Laravel bao gồm:
Routing: Laravel cung cấp một bộ điều hướng tuyệt vời, cho phép định tuyến các URL
cho các hành động trong ứng dụng web.
Blade Template Engine: Blade là một hệ thống template engine rất hiệu quả và đơn
giản, giúp tách riêng mã HTML từ mã PHP.
Eloquent ORM: Laravel cung cấp Eloquent ORM, là một công cụ giúp tương tác với
cơ sở dữ liệu SQL, truy vấn và thao tác với dữ liệu trong cơ sở dữ liệu một cách nhanh
chóng và dễ dàng.
Middleware: Laravel cung cấp middleware, cho phép xử lý các yêu cầu trước khi nó
được xử lý hoặc sau khi nó đã được xử lý.
Các công cụ khác: Laravel cung cấp một loạt các công cụ bổ sung như Artisan
Command Line Interface, Elixir, Socialite, v.v.
Laravel là một trong những framework phát triển web PHP được sử dụng rộng rãi nhất
hiện nay, và được đánh giá cao về tính năng và sự tiện ích của nó. Laravel thường
được sử dụng để xây dựng các ứng dụng web động như blog, hệ thống quản lý nội
dung CMS, hệ thống thương mại điện tử, và nhiều ứng dụng web khác.
5.2. Đã học được
Quản lý giao diện người dùng: Laravel cung cấp cho người dùng các công cụ để
xây dựng giao diện người dùng đáp ứng và tương tác bằng AJAX.
Quản lý dữ liệu: Laravel hỗ trợ nhiều loại cơ sở dữ liệu. Cách thiết kế các bảng, tương
tác với cơ sở dữ liệu, điều khiển chuỗi kết nối...
11
Đề tài Giáo Viên Hướng Dẫn:
Xử lý yêu cầu HTTP: Laravel cung cấp cho người dùng các giải pháp để xử lý yêu cầu
HTTP một cách dễ dàng. Cách định tuyến, kiểm tra giấy phép tồn tại, xử lý lỗi và
trạng thái...
Tạo API: Laravel cung cấp các công cụ để xây dựng các ứng dụng API, Cách tạo các
yêu cầu RESTful và SOAP.
Đóng gói ứng dụng: Laravel cung cấp cho người dùng các công cụ để đóng gói ứng
dụng thành các bản phát hành. Cách tạo các sản phẩm phần mềm, kiểm tra và triển
khai.
5.3. Vướng mắc, tồn đọng
Quản lý lỗi: Khi phát triển ứng dụng Laravel, gặp phải nhiều lỗi và khó khăn, đặc
biệt là khi xử lý cấu hình và tương tác với cơ sở dữ liệu. Làm tốn nhiều thời gian để
tìm kiếm và giải quyết các lỗi này.
Tương thích và cập nhật: Laravel được phát triển liên tục và thường xuyên cập nhật
các tính năng mới. Điều này có thể dẫn đến sự mất tương thích giữa các phiên bản của
framework và khó khăn trong việc cập nhật ứng dụng Laravel lên các phiên bản mới
hơn.
Tài liệu: Tài liệu học Laravel không phải lúc nào cũng được cập nhật đầy đủ và chi
tiết, đặc biệt là khi đi vào các tính năng nâng cao và phức tạp. Tốn nhiều thời gian để
tìm kiếm thông tin và giải quyết các vấn đề khi không có tài liệu hỗ trợ.
6. NodeJS
6.1. Gi ới thiệu
Node.js là một nền tảng phát triển được xây dựng trên JavaScript để thực thi mã
trên máy chủ. Nó cho phép các nhà phát triển sử dụng JavaScript cả trong frontend
và backend của một ứng dụng web. Node.js cho phép xây dựng các ứng dụng web
động, ứng dụng mạng, các công cụ dòng lệnh và các ứng dụng khác bằng cách sử
dụng các thư viện và module có sẵn. Node.js giúp tăng tính linh hoạt và hiệu quả
trong việc phát triển ứng dụng web.
6.2. Đã học được
Học Node.js sẽ giúp hiểu được cách xây dựng các ứng dụng web động, ứng
dụng mạng và các công cụ dòng lệnh với JavaScript. Bởi vì Node.js có thể chạy mã
JavaScript trên máy chủ, nó mở ra cơ hội cho việc phát triển các ứng dụng web đầy
đủ tính năng mà không cần phải sử dụng các ngôn ngữ khác.
Học Node.js cũng giúp hiểu cách sử dụng NPM (Node Package Manager) để quản
lý các thư viện và module trong ứng dụng. NPM là một trong những công cụ quản
lý thư viện và module tốt nhất và phổ biến nhất trong cộng đồng Node.js.
Ngoài ra, khi học Node.js, tìm hiểu về các kỹ thuật như event-driven programming,
non-blocking I/O, và asynchronous programming. Những kỹ thuật này giúp xây
12
Đề tài Giáo Viên Hướng Dẫn:
dựng ứng dụng web linh hoạt, đáp ứng được nhiều yêu cầu của người dùng và tối
ưu hóa hiệu suất của ứng dụng.
Cuối cùng, học Node.js cũng giúp có thêm kinh nghiệm và kỹ năng trong lập trình
JavaScript, một ngôn ngữ lập trình đang được sử dụng rộng rãi trong nhiều lĩnh
vực của công nghệ thông tin.
7. Tạo 1 project hoàn chỉnh
7.1. Giới thiệu
Đây là website bán hàng, sản phẩm gồm có các mặt hàng thiết yếu như rau củ
quả,… đồ gia dụng như kem đánh răng, dầu gội, ….
Người dùng có thể:
o Tìm kiếm sản phẩm
o Thêm sản phẩm vào giỏ hàng
o Đăng nhập để thanh toán hoặc đăng ký nếu chưa có tài khoản
Admin có thể:
o Quản lý sản phẩm (thêm sửa xóa sản phẩm)
o Duyệt đơn hàng
o Quản lý người dùng
o Xem thống kê chi tiêu
7.2. Ngôn ngữ sử dụng
Sau quá trình học hỏi là thực hành thì em đã tạo cho mình được 1 website
bán hàng.
Giao diện người dùng em sử dụng Framework ReactJS để xây dựng, còn
server em sử dụng nodejs và laravel 9(đây là phiên bản mới nhất) để RESTFull
api từ database.
Database em sử dụng SQLserver để lưu trữ dữ liệu, và dùng cloundinary để
lưu trữ hình ảnh.
7.3. USE CASE
13
Đề tài Giáo Viên Hướng Dẫn:
1 Sơ đồ usecase
7.4. Cơ sở dữ liệu
14
Đề tài Giáo Viên Hướng Dẫn:
2 ERD
7.5. Giao diện
7.5.1. Đăng ký.
15
Đề tài Giáo Viên Hướng Dẫn:
16
Đề tài Giáo Viên Hướng Dẫn:
5 Trang quản lý
17
Đề tài Giáo Viên Hướng Dẫn:
18
Đề tài Giáo Viên Hướng Dẫn:
+ Thêm User
19
Đề tài Giáo Viên Hướng Dẫn:
20
Đề tài Giáo Viên Hướng Dẫn:
2. Đồ ăn tổng hợp.
21
Đề tài Giáo Viên Hướng Dẫn:
16 Hiển thị đồ ăn
22
Đề tài Giáo Viên Hướng Dẫn:
7.5.11. Thanh toán.
23
Đề tài Giáo Viên Hướng Dẫn:
7.5.13. Trang Ưu đãi đặt biệt.
20 Trang ưu đãi
25