Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 52

TRƯỜNG ĐẠI HỌC ĐẠI NAM

KHOA CÔNG NGHỆ THÔNG TIN


----------------

BÁO CÁO THỰC TẬP TỐT NGHIỆP


TÊN ĐỀ TÀI
NGHIÊN CỨU CÔNG NGHỆ LẬP TRÌNH SỬ DỤNG LARAVEL
FRAMEWORK TRONG XÂY DỤNG ỨNG DỤNG WEB.
(Dự án Quản lý Giao việc)

SINH VIÊN THỰC HIỆN : TRẦN ĐĂNG THÀNH


GIẢNG VIÊN HƯỚNG DẪN : TRẦN QUÝ NAM
LỚP : CNTT 13-03
KHÓA : 13
HỆ : ĐẠI HỌC CHÍNH QUY

HÀ NỘI – NĂM 2023


TRƯỜNG ĐẠI HỌC ĐẠI NAM
KHOA CÔNG NGHỆ THÔNG TIN
----------------

HỌ VÀ TÊN SINH VIÊN


TRẦN ĐĂNG THÀNH

TÊN ĐỀ TÀI

NGHIÊN CỨU CÔNG NGHỆ LẬP TRÌNH SỬ DỤNG LARAVEL


FRAMEWORK TRONG XÂY DỤNG ỨNG DỤNG WEB.
(Dự án Quản lý Giao việc)

CHUYÊN NGÀNH : CÔNG NGHỆ THÔNG TIN


MÃ SINH VIÊN : 1351020102

HÀ NỘI - NĂM 2023


LỜI NÓI ĐẦU

Để hoàn thành chuyên đề báo cáo thực tập này, trước hết em chân thành cảm ơn
các cá nhân và tổ chức đã tạo điều kiện hỗ trợ, giúp đỡ em trong suốt quá trình học tập
và nghiên cứu đề tài này. Trong suốt thời gian từ khi bắt đầu học tập đến nay, em đã
nhận được rất nhiều sự quan tâm, giúp đỡ từ quý thầy, cô giáo trong khoa Công Nghệ
Thông Tin - Đại Học Đại Nam đã luôn tận tình chỉ bảo, truyền đạt cho em những kiến
thức quý báu trong suốt thời gian học ở trường.

Đặc biệt, em xin gửi đến thầy Trần Quý Nam người đã tận tình hướng dẫn, giúp
đỡ để em có thể hoàn thành tốt báo cáo thực tập trong thời gian qua.

Cuối cùng em xin cảm ơn các anh chị ở Công ty cổ phần Công nghệ, Dịch vụ
Tài nguyên và Môi trường. Đã tận tình giúp đỡ, cung cấp những dự án và góp ý để
em hoàn thành tốt chuyên đề thực tập tốt nghiệp này.

Do bản thân còn những hạn chế nhất định về chuyên môn và thời gian nên sẽ khó
tránh khỏi những sai sót trong quá trình thực hiện. Em mong nhận được sự góp ý của
các thầy/cô trong khoa và các bạn để bài báo cáo của em được hoàn thiện tốt hơn.

Em xin trân thành cảm ơn!


DANH MỤC TỪ VIẾT TẮT

STT Ký hiệu chữ viết Chữ viết đầy đủ


tắt
1 Codelgniter CodeIgniter là một web framework mã nguồn mở
phát triển nhanh chóng, để sử dụng trong việc xây
dựng các trang web động với PHP.
2 API API là các phương thức, giao thức kết nối với các
thư viện và ứng dụng khác
3 PDO Là một lớp truy xuất cơ sở dữ liệu cung cấp một
phương pháp thống nhất để làm việc với nhiều
loại cơ sở dữ liệu khác nhau.
4 CSRF CSRF hay còn gọi là kỹ thuật tấn công “Cross-site
Request Forgery”, nghĩa là kỹ thuật tấn công giả
mạo chính chủ thể của nó.
5 XSS Cross-site scripting là một loại lỗ hổng bảo mật có
thể được tìm thấy trong một số ứng dụng web.
6 GUI Giao diện đồ họa người dùng là một dạng giao
diện người dùng cho phép giao tiếp với máy tính
hay các thiết bị điện tử bằng hình ảnh và chữ viết
thay vì chỉ là các dòng lệnh đơn thuần.
7 CRUD CRUD (viết tắt các chữ cái đầu của Create-Read-
Update-Delete, nghĩa là "tạo, đọc, cập nhật, xoá")
là bốn chức năng cơ bản của lưu trữ liên tục.
8 ... ...
DANH MỤC HÌNH

Hình 3.1. Mô hình hoạt động........................................................................................23

Hình 3.2. Cài đặt Composer..........................................................................................28

Hình 3.3. Kiểm tra Composer.......................................................................................29

Hình 3.4. Tạo dự án mới thông qua câu lệnh................................................................30

Hình 3.5. Project sau khi tạo.........................................................................................31

Hình 3.6. Cấu trúc thư mục dự án Laravel (mặc định).................................................32

Hình 4.1. Giao diện nghiệp vụ quản lý người dùng......................................................38

Hình 4.2. Giao diện danh sách hợp đồng đơn vị sử dụng thư viện faker (nhiều dữ liệu
giả, mục đích kiểm tra chịu tải).....................................................................................39

Hình 4.3. Giao diện chức năng thêm mới hợp đồng đơn vị (Có validate dữ liệu)........39

Hình 4.4. Giao diện chức năng xem chi tiết thông tin dự án.........................................40

Hình 4.5. Giao diện chức năng chỉnh sửa thông tin dự án............................................40

Hình 4.6. Giao diện chức năng xóa thông tin dự án......................................................40

Hình 4.7. Chức năng phân trang hiển thị......................................................................41

Hình 4.8. Chức năng tìm kiếm, lọc nghiệp vụ..............................................................41

Hình 4.9. Giao diện Nghiệp vụ báo cáo, thống kê và chức năng xuất thông tin ra excel
.......................................................................................................................................41

Hình 4.10. Giao diện sau khi xuất excel nghiệp vụ báo cáo, thống kê (Excel Microsoft)
.......................................................................................................................................42

Hình 4.11. Giao diện dach sách đề nghị chỉnh sửa.......................................................42


DANH MỤC BẢNG

Bảng 1.1. Bảng danh sách nhân sự chủ chốt của Công ty...............................................7

Bảng 1.2. Bảng cơ sở vật chất, trang thiết bị - phần cứng..............................................8

Bảng 1.3. Bảng thông số kĩ thuật các thiết bị hiện đại....................................................9

Bảng 1.4. Bảng một số hợp đồng tiêu biểu của Công ty...............................................10

Bảng 2.1. Lộ trình thực tập...........................................................................................18


MỤC LỤC

LỜI NÓI ĐẦU......................................................................................................................

DANH MỤC TỪ VIẾT TẮT...............................................................................................

DANH MỤC HÌNH.............................................................................................................

DANH MỤC BẢNG............................................................................................................

MỤC LỤC............................................................................................................................

CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG TY HOẠT ĐỘNG THỰC TẬP............................

1.1. Giới thiệu chung...................................................................................................2

1.2. Nhân lực và cơ sở vật chất, trang thiết bị.............................................................6

1.1.1. Nhân lực và cán bộ chủ chốt.........................................................................6

1.1.2. Sơ đồ tổ chức bộ máy Công ty......................................................................6

BAN GIÁM ĐỐC.......................................................................................................6

1.1.3. Cơ sở vật chất và trang thiết bị......................................................................8

1.3. Một số hợp đồng tiêu biểu của Công ty.............................................................10

CHƯƠNG 2: QUÁ TRÌNH THỰC TẬP TẠI ĐƠN VỊ....................................................

2.1. Mô tả công việc được giao.................................................................................17

2.1.1. Tổng quan về công việc được giao..............................................................17

2.1.2. Mô tả...........................................................................................................17

2.2. Quy trình thực hiện............................................................................................18

CHƯƠNG 3: CỞ SỞ LÝ THUYẾT...................................................................................

3.1. Laravel................................................................................................................21

3.1.1. Laravel là gì?...............................................................................................21

3.1.2. Lịch sử phát triển.........................................................................................21

3.1.3. Ưu và nhược điểm.......................................................................................21

3.1.4. Mô hình hoạt động......................................................................................22


3.1.5. Các tính năng của Laravel...........................................................................23

3.2. Cài đặt môi trường phát triển Laravel trên windows (Visual Studio Code)......26

3.2.1. Cài đặt XAMPP...........................................................................................27

3.2.2. Cài đặt Composer........................................................................................27

3.2.3. Tạo project Laravel đầu tiên........................................................................29

3.2.3. Cấu trúc thư mục Laravel (mặc định).........................................................32

CHƯƠNG 4: KẾT QUẢ NGHIÊN CỨU VÀ ĐÁNH GIÁ...............................................

4.1. Kết quả đạt được................................................................................................36

4.1.1. Cở sở lý thuyết............................................................................................36

4.1.2. Cơ sở thực hành...........................................................................................36

4.1.3. Kỹ năng đạt được........................................................................................36

4.1.4. Đánh giá......................................................................................................37

4.2. Kết quả thực hành..............................................................................................37

KẾT LUẬN VÀ KIẾN NGHỊ............................................................................................

DANH MỤC TÀI LIỆU THAM KHẢO...........................................................................


CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG TY HOẠT ĐỘNG THỰC TẬP

CÔNG TY CỔ PHẦN CÔNG NGHỆ, DỊCH VỤ


TÀI NGUYÊN VÀ MÔI TRƯỜNG
Địa chỉ: 63B, Hai Bà Trưng, phường Cửa Nam, Hoàn Kiếm Hà Nội
Văn phòng: P215A, khách sạn Thể thao, 15 Lê Văn Thiêm, Q. Thanh Xuân
Website: cdtm.com.vn; Tel: 0243.35538554

HỒ SƠ
GIỚI THIỆU NĂNG LỰC

Hà nội - 2021
1
1.1. Giới thiệu chung

Công ty Cổ phần Công nghệ, Dịch vụ Tài nguyên và Môi trường là đơn vị được
thành lập được thành lập theo giấy chứng nhận đăng ký kinh doanh công ty cổ phần
số: 0103017701 của Sở Kế hoạch và Đầu tư – thành phố Hà Nội, ngày 06 tháng 06
năm 2007.
- Giấy phép đo đạc bản đồ số 1756 do Cục đo đạc bản đồ và thông tin địa lý Việt
Nam cấp ngày 21 tháng 9 năm 2017.
- Chứng chỉ hành nghề khảo sát địa hình hạng II số HAN-00019612 do sở Xây
dựng thành phố Hà Nội cấp ngày 7 tháng 1 năm 2019
Công ty Cổ phần Công nghệ, Dịch vụ Tài nguyên và Môi trường có chức năng tư
vấn xây dựng các Dự án liên quan đến các lĩnh vực Tài nguyên và Môi trường, giao
thông, thủy lợi…. Các dịch vụ chủ yếu bao gồm
1. Dịch vụ khảo sát
+ Đo đạc thành lập lưới khống chế, lập bản đồ địa hình các loại tỷ lệ phục vụ lập
quy hoạch chung, quy hoạch chi tiết, thi công xây dựng…
+ Đo đạc bản đồ địa chính, cấp giấy chứng nhận quyền sử dụng đất, xây dựng cơ
sở dữ liệu địa chính; Đo đạc bản đồ địa chất, bản đồ hiện trạng và các loại bản đồ
chuyên ngành,...
2. Dịch vụ tư vấn:
+ Lập Quy hoạch, kế hoạch sử dụng đất các cấp; Quy hoạch tái định cư; Quy
hoạch nông nghiệp, nông thôn.
+ Điều tra, đánh giá đất đai. Kiểm kê, thống kê đất đai. Điều tra, đánh giá tác
động môi trường...
3. Quét, số hóa bản đồ và bản vẽ kỹ thuật các loại; in bản đồ, bản vẽ.
4. Tư vấn kiểm tra độ chính xác các loại lưới thi công công trình độ chính xác cao
như công trình cầu, hầm, nhà cao tầng…
5. Bay chụp ảnh bằng UAV, xử lý ảnh ortho, mô hình số bền mặt….
6. Xây dựng cơ sở nền dữ liệu địa lý, cơ sở dữ liệu chuyên ngành phục vụ các
ứng dụng quản lý chuyên ngành (GIS).

2
3
4
1.2. Nhân lực và cơ sở vật chất, trang thiết bị

1.1.1. Nhân lực và cán bộ chủ chốt

Công ty có đông đảo đội ngũ cán bộ khoa học với gần 30 người (chưa kể cộng tác
viên) đã tốt nghiệp đại học, thạc sỹ, tiến sỹ, cao đẳng, công nhân kỹ thuật viên bậc cao
và có nhiều kinh nghiệm trong công tác nghiên cứu, triển khai ứng dụng, tư vấn xây
dựng các dự án liên quan đến lĩnh vực Tài nguyên và Môi trường; Giao thông; Thủy
lợi; Kinh tế - xã hội, cụ thể:
- Thạc sỹ, Kỹ sư Quản lý đất đai, Địa chính.
- Thạc sỹ, Kỹ sư Nông học.
- Thạc sỹ, kỹ sư Khoa học Môi trường.
- Thạc sỹ, Kỹ sư, cử nhân Luật, Kinh tế.
- Thạc sỹ, Kỹ sư trắc địa bản đồ.
- Kỹ sư Tin học.
- Công nhân kỹ thuật.

1.1.2. Sơ đồ tổ chức bộ máy Công ty

Công ty Cổ phần Công nghệ, Dịch vụ Tài nguyên và Môi trường có cơ cấu tổ
chức như sau:

BAN GIÁM ĐỐC

Hành Chính Phòng Kế hoạch Đoàn Chuyên môn


Tài chính nghiệp vụ

Bộ phận quản lý: Chủ tịch kiêm Giám đốc Công ty; 02 Phó giám đốc Công ty;
Phòng Hành chính 03 người; Phòng Kế hoạch Tài Chính 03 người.
Bộ phận trực tiếp sản xuất: gồm các đoàn chuyên môn, nghiệp vụ:
5
- Đoàn Quy hoạch: 24 người;
- Đoàn Điều tra, đánh giá đất đai: 12 người;
- Đoàn Đo đạc: 14 người.
Cộng tác viên: Các cá nhân đang công tác tại Tổng cục Quản lý đất đai, Tổng cục
Mô trường - Bộ Tài nguyên và Môi trường; Viện Nông hóa - Thổ nhưỡng, Viện Quy
hoạch và Thiết kế Nông nghiệp, Cục Trồng trọt - Bộ Nông nghiệp và Phát triển nông
thôn…

DANH SÁCH NHÂN SỰ CHỦ CHỐT CỦA CÔNG TY


Bảng 1.1. Bảng danh sách nhân sự chủ chốt của Công ty
Năm
kinh
STT Họ và tên Trình độ Nơi tốt nghiệp
nghiệ
m
1 Nguyễn Văn Đông Thạc sỹ QTKD ĐH Quốc Gia 23
2 Hà Quang Tuyết Thạc sỹ QLĐĐ ĐH Nông Nghiệp 26
3 Nguyễn Ngọc Thành Lê Thạc sỹ khoa học đất ĐH Nông Nghiệp 20
4 Trần Quang Học Kỹ sư trắc địa ĐH Mỏ - Địa Chất 19
5 Phạm Hồng Giang Cử nhân Luật ĐH Luật 18
6 Nguyễn Văn Dũng Kỹ sư trắc địa ĐH Mỏ - Địa Chất 17
7 Nguyễn Thị Song Hiền Thạc sỹ QLĐĐ ĐH Nông Nghiệp 16
8 Vũ Minh Hương Kỹ sư Bản đồ ĐH Mỏ - Địa Chất 16
9 Nguyễn Tuấn Thảo Thạc sỹ trắc địa ĐH Mỏ - Địa Chất 15
10 Lê Quang Thạc sỹ trắc địa ĐH Mỏ - Địa Chất 14
11 Nguyễn Văn Phương Kỹ sư trắc địa ĐH Mỏ - Địa Chất 14
12 Nguyễn Đỗ Nhất Kỹ sư trắc địa ĐH Mỏ - Địa Chất 14
13 Trần Đức Công Thạc sỹ Trắc địa - Bản đồ ĐH Mỏ - Địa Chất 12
14 Lê Văn Hiến Thạc sỹ trắc địa ĐH Mỏ - Địa Chất 13
15 Trần Quốc Tuấn Kỹ sư trắc địa ĐH Mỏ - Địa Chất 13
16 Nguyễn Viết Linh Kỹ sư trắc địa ĐH Mỏ - Địa Chất 12
17 Nguyễn Đình Trung Kỹ sư trắc địa ĐH Mỏ - Địa Chất 12
18 Nguyễn Viết Hưng Kỹ sư trắc địa ĐH Mỏ - Địa Chất 12

6
19 Nguyễn Thùy Vinh Kỹ sư trắc địa ĐH Mỏ - Địa Chất 10
20 Trần Thị Duyên Kỹ sư Bản đồ ĐH Mỏ - Địa Chất 10
21 Nguyễn Khánh Hà Kỹ sư tin học HVKT Quân sự 9
22 Lê Phương Hà Kỹ sư Bản đồ ĐH Mỏ - Địa Chất 9
23 Lê Thanh Tuyến Thạc sỹ trắc địa ĐH Mỏ - Địa Chất 9
24 Lê Thị Thu Hoa Kỹ sư địa chính ĐH KHTN 9
25 Đào Văn Nghị Kỹ sư trắc địa ĐH Mỏ - Địa Chất 6
26 Phạm Ngọc Dũng Kỹ sư địa chính ĐH KHTN 6
27 Lưu Thị Mai Hương Thạc kỹ KTNN ĐH Nông Nghiệp 5
28 Lê Đình Tiện Kỹ sư trắc địa ĐH Mỏ - Địa Chất 3

1.1.3. Cơ sở vật chất và trang thiết bị

Công ty Cổ phần Công nghệ, Dịch vụ Tài nguyên và Môi trường có nhiều thiết bị
hiện đại phục vụ cho công tác tư vấn thành lập các loại bản đồ: Bản đồ địa hình, bản
đồ địa chính, bản đồ địa chất, bản đồ hiện trạng, bản đồ quy hoạch, các loại bản đồ
chuyên ngành và đo vẽ địa chính.
Phần cứng:

Bảng 1.2. Bảng cơ sở vật chất, trang thiết bị - phần cứng

STT Loại thiết bị Số lượng Tình trạng

A Thiết bị nội nghiệp


1 Máy tính để bàn 15 Hoạt động tốt
2 Máy tính xách tay 10 Hoạt động tốt
3 Máy in A0 (HP 800) 01 Hoạt động tốt
4 Máy in A3 (Hp 1180c) 02 Hoạt động tốt
5 Máy in A4 02 Hoạt động tốt
6 Máy quét A4 01 Hoạt động tốt
7 Máy photocopy 01 Hoạt động tốt
B Thiết bị ngoại nghiệp
1 Máy định vị toàn cầu GNSS 2 tần T-300 06 Hoạt động tốt

7
2 Máy định vị toàn cầu 1 tần South 05 Hoạt động tốt
3 Máy toàn đạc điện tử 03 Hoạt động tốt
4 Máy thủy bình điện tử DL-202, Kolida 02 Hoạt động tốt
5 Máy thủy bình 02 Hoạt động tốt
6 Máy bay không người lái DJI 01 Hoạt động tốt
7 Máy bay không người lái DJI - RTK 01 Hoạt động tốt
8 Hệ thống đo sâu hồi âm đơn tia 01 Hoạt động tốt
9 Máy quét 3D ScanStation BLK360 01 Hoạt động tốt

THÔNG SỐ KỸ THUẬT CỦA CÁC THIẾT BỊ HIỆN ĐẠI

Bảng 1.3. Bảng thông số kĩ thuật các thiết bị hiện đại


Loại thiết bị Hình ảnh Thông số kỹ thuật
- Độ chính xác đo cao: 1.5mm/1km (đọc số
Máy thủy điện tử), 2mm/1km (đọc số quang học).
chuẩn điện tử - Phạm vị đọc mia: 1.5m-100m
DL-202, - Độ phóng đại của ống kính: 32x
Kolida - Độ chính xác đo xa: 10mm (khi D<10m),
D*0.001mm (khi D>10m)
- Khả năng thu sóng: GPS (L1, L2, 2C, L5),
Glonass (L1, L2), Galileo (E1, E5a, E5b),
BeiDou (B1, B2, B3).
- Hình thức đo: Động, tĩnh, RTK, Cors
Máy GNSS-
- Độ chính xác đo:
T300
+ Tĩnh và tĩnh nhanh: 2.5mm+0.5ppm về
mặt bằng, 5mm+0.5ppm về độ cao
+ Đo RTK: 8mm+1ppm về mặt bằng,
15mm+1ppm về độ cao
Máy quét - Trường quét: 360° (phương ngang) / 300°
laser scanner (phương đứng)
Leica
8
Tầm quét: Từ 0.6m đến 60m
- Tốc độ quét: Lên tới 360.000 điểm/giây
- Thời gian 1 trạm quét: 3 phút.
ScanStation
- Sai số vị trí điểm quét: 6mm (trong phạm vi
BLK360
dưới 10mm), 8mm (trong phạm vi ngoài
20m).
- Camera: 15Mpx, quét toàn cảnh 150 Mpx
Thiết bị bay - Camera: chụp ảnh 20Mpx, quay video 4K
không người - Chế độ bay: Bay theo chương trình, bay
lái Phantom 4 bằng tay
pro, - Thời gian bay: 30 phút
Phantom 4 - Tầm bay: 7km
RTK - Cảm biến tránh chướng ngại vật

Phần mềm:
- Số hóa và đo vẽ tự động: SDR, GEOCOMP, GEOVEC;
- Thành lập và quản lý cơ sở dữ liệu ARCGIS9.2, Mapinfo, ILWIS;
- Thành lập và biên tập bản đồ: Microstation, Mapping Office, IrasB, IrasC,
MGE, AutoCad, Map-publisher …
- Phầm mềm xử lý ảnh từ UAV: Agrisoft.

1.3. Một số hợp đồng tiêu biểu của Công ty

Bảng 1.4. Bảng một số hợp đồng tiêu biểu của Công ty
Chủ đầu Địa Giá trị
STT Hợp đồng số Năm Nội dung
tư điểm (đồng)
1 Số 42/2013/ 2013 Xây dựng hệ Viện Kiến Hà Nội 404.416.500
VKTQH-HĐ thống cơ sở dữ trúc, Quy và các
liệu GIS phục vụ hoạch đô vùng
Dự án Điều chỉnh thị và nông phụ
quy hoạch xây thôn cận
dựng vùng thủ đô Bộ Xây
đến năm 2030, dựng
tầm nhìn đến năm

9
2050
Thành lập bản đồ
hiện trạng tỷ lệ Viện Kiến
1/10.000 phục vụ trúc, Quy
Số 11/2013/ dự án Quy hoạch hoạch đô
Long
2 VKTQH- 2013 chung xây dựng thị và nông 2.152.868.000
An
TVKSQH khu Kinh tế cửa thôn
khẩu Long An, Bộ Xây
tỉnh Long An đến dựng
năm 2030
Hiệu chỉnh bản
đồ tỷ lệ 1:10.000
phục vụ dự án Viện Quy
“Quy hoạch hoạch đô
chung xây dựng thị và nông
Số 16B/2014/ Quảng
3 2014 khu kinh tế cửa thôn quốc 1.515.836.338
HĐ-TVKSQH Ninh
khẩu Móng Cái, gia
tỉnh Quảng Ninh Bộ Xây
đến năm 2030 Dựng
tầm nhìn đến năm
2050
Lập quy hoạch sử Phòng Tài
dụng đất 2015 nguyên và
Số 24/ Quảng
4 2014 thành phố Đông Môi trường 259.503.000
HĐKT Trị
Hà – tỉnh Quảng thành phố
Trị Đông Hà
5 Số 2014 Biên tập, xuất Ban Quản Quảng 864.520.000
15/BQLVHL- bản bản đồ quản lý Ninh
HĐKT 2014 lý vịnh Hạ Long, Vịnh Hạ
vịnh Bái Tử Long Long
tỷ lệ 1/25.000 và
1/50.000 để phục
vụ công tác quản

10
lý di sản
Xây dựng CSDL
bản đồ cho gói
thầu thuộc dự án
“Xây dựng hệ
thống tích hợp
thu thập và xử lý
Công ty cổ
Số 20131227/ thông tin không
phần Tiến Toàn
6 TICHHOP/AIC- 2014 gian gần thời 1.325.478.857
Bộ Quốc quốc
TNMT gian thực để theo
Tế Hà Nội
dõi bề mặt phục
vụ nghiên cứu và
quản lý liên
ngành tài nguyên
môi trường và
thiên tai”
Điều chỉnh quy
hoạch sử dụng Phòng Tài
đất năm 2020, kế nguyên và
Số 01/ Quảng
7 2015 hoạch sử dụng Môi trường 950.159.000
HĐKT Trị
đất năm 2016 huyện Gio
huyện Gio Linh – Linh
Quảng Trị
Điều chỉnh quy
hoạch sử dụng Phòng Tài
đất năm 2020, kế nguyên và
Số 369/ Quảng
8 2015 hoạch sử dụng Môi trường 1.385.000.000
HĐKT Trị
đất năm 2016 thành phố
huyện Đông Hà – Đông Hà
Quảng Trị
9 Số 725/2016/ 2016 Lập quy hoạch sử Phòng Tài Quảng 357.437.000
HĐKT dụng đất năm nguyên và Trị
2017 thành phố Môi trường
Đông Hà, tỉnh thành phố
11
Quảng Trị Đông Hà
Thành lập bản đồ
tỷ lệ 1/5000 phục
vụ Lập Quy
hoạch chung xây
Công ty cổ
Số 37/2017/ dựng khu vực Du Hà
10 2017 phần tập 3.194.000.000
HĐ – TV lịch – Đô thị - Tĩnh
đoàn T&T
Thương mại ven
biển Nghi Xuân –
Nghi Lộc – Hà
Tĩnh
Đo đạc khảo sát Công ty
hiện trạng công TNHH Tư
Số 111.1/2017/ trình: Chỉnh trang vấn đo đạc
11 2017 Hà Nội 267.124.000
HĐTV tuyến phố Hàng bản đồ
Lược, quận Hoàn Chiến
Kiếm, Hà Nội Thắng
Đo đạc khảo sát Công ty
hiện trạng công TNHH Tư
Số 13.1/2017/ trình: Chỉnh trang vấn đo đạc
12 2017 Hà Nội 237.326.000
HĐTV tuyến phố Chả bản đồ
Cá, quận Hoàn Chiến
Kiếm, Hà Nội Thắng
Khảo sát thành
lập bản đồ địa Công ty cổ
Số 0207/2018/ hình tỷ lệ 1/500 phần Hòa
13 2018 234.080.000
HĐKS-VietEco phục vụ công tác VietEco- Bình
lập quy hoạch và Hòa Bình
đầu tư dự án

12
Lập kế hoạch sử Phòng Tài
đụng đất năm nguyên và
Số 01/ Quảng
14 2018 2018 huyện Gio Môi trường 176.500.000
HĐKT Trị
Linh, tỉnh Quảng huyện Gio
Trị Linh
Khảo sát lập bản
đồ địa hình tỷ lệ
Phòng
1/5.000 phục vụ
Quản lý đô
16/2018/ lập quy hoạch Đồng
15 2018 thị huyện 2.136.000.000
HĐKT phân khu 2.3 Nai
Nhơn
huyện Nhơn
Trạch.
Trạch, tỉnh Đồng
Nai
Tư vấn Khảo sát,
lập Quy hoạch
chi tiết mặt nước
Sở Nông
nuôi trồng thủy
nghiệp và
02/2018/ sản vịnh Xuân Phú
16 2018 phát triển 2.859.274.000
QHPY Đài, thị xã Sông Yên
nông thôn
Cầu, tỉnh Phú
Phú Yên
Yên đến năm
2025, tầm nhìn
đến năm 2030

Khảo sát đo đạc


địa hình thành lập
bản đồ hiện trạng Công ty cổ
tỷ lệ 1/2000 phục phần
05/2019/ Đồng
17 2019 vụ quy hoạch dự thương mại 700.000.000
HĐTV-NNM Nai
án Làng Thông Ngôi Nhà
Minh tại xã Long Mới
Phước, huyện
Long Thành
18 2008/2019/ 2019 Thành lập bình Tập đoàn Quảng 220.000.000
HDDV/VG- đồ ảnh, khoanh VinGroup Ninh
TNMT vùng thực vật – Công ty

13
khu vực thị xã
Quảng Yên – tỉnh CP
Quảng Ninh

Khảo sát địa hình


thành lập bản đồ
tỷ lệ 1/2000 phục
Công ty cổ
vụ quy hoạch khu
phần
07/2019/ dân cư, dịch vụ Bình
19 2019 thương mại 275.000.000
HĐTV-VNM du lịch, giải trí Thuận
Ngôi Nhà
LOUIS tại xã
Mới
Cao Thắng, Hồng
Phong, huyện
Bắc Bình
Lập kế hoạch sử Phòng tài
dụng đất cấp nguyên và
03/2019/ Quảng
20 2019 huyện năm 2020, môi trường 219.689.000
HĐKT Trị
huyện Gio Linh, huyện Gio
tỉnh Quảng Trị Linh
Khảo sát địa
hình, lập đồ án
điều chỉnh Quy
hoạch phan khu Ban Quản
02/2020/ Quảng
21 2020 tỷ lệ 1/2000 khu lý khu kinh 5.181.000.000
HĐ-TVKS-QH Ninh
vực Cái Rồng, tế Vân Đồn
khu kinh tế Vân
Đồn, tỉnh Quảng
Ninh
Lập quy hoạch
phân khu đô thị
tỷ lệ 1/5.000 Phòng
phân khu 2.1 theo
Quản lý đô
điều chỉnh quy Đồng
01/2020/
22 2020 hoạch chung đô thị huyện Nai
1.375.140.000
HĐKT
thị mới Nhơn Nhơn
Trạch, tỉnh Đồng Trạch.
Nai đến năm
2035 và tầm nhìn
đến năm 2050d
Phòng Đồng
02/2020/ Lập quy hoạch 1.047.422.000
23 2020 Nai
HĐKT phân khu đô thị Quản lý đô
14
tỷ lệ 1/5.000
phân khu 2.2 theo
điều chỉnh quy
thị huyện
hoạch chung đô
thị mới Nhơn Nhơn
Trạch, tỉnh Đồng Trạch.
Nai đến năm
2035 và tầm nhìn
đến năm 2050
Lập quy hoạch
phân khu đô thị
tỷ lệ 1/5.000 Phòng
phân khu 6.2 theo
Quản lý đô
điều chỉnh quy Đồng
03/2020/
24 2020 hoạch chung đô thị huyện Nai
2.651.413.000
HĐKT
thị mới Nhơn Nhơn
Trạch, tỉnh Đồng Trạch.
Nai đến năm
2035 và tầm nhìn
đến năm 2050
Biên tập, chuẩn
hóa bản đồ địa
hình tỷ lệ
Cục Điện
1/2.000, 1/5.000,
01/2020/HĐ lực và năng Toàn
1/10.000 47 tỉnh 6.700.000.000
25 DVPTV/ 2020
và chuyển đổi lượng tái quốc
EREA-CDTM
định dạng bản đồ tạo
số sang AutoCad
phục vụ công tác
quản lý đầu tư.
Lập quy hoạch sử Phòng Tài
dụng đất đến năm
nguyên và
2030 và kế hoạch Quảng
429/
26 2020 sử dụng đất đến môi trường Trị
1.813.843.000
HĐKT
năm 2021 thành thành phố
phố Đông Hà, Đông Hà
tỉnh Quảng Trị

15
CHƯƠNG 2: QUÁ TRÌNH THỰC TẬP TẠI ĐƠN VỊ

2.1. Mô tả công việc được giao

2.1.1. Tổng quan về công việc được giao

Công việc chính: Ôn tập, tìm hiểu Laravel framework, sau đó áp dụng xây dựng
ứng dụng web.
Nhiệm vụ chính cần làm:
+ Tìm hiểu nghiệp vụ của các chức năng trong dự án
+ Xây dựng các giao diện mới
+ Thêm sửa xóa các thành phần trong giao diện theo yêu cầu của người hướng
dẫn
+ Gọi Backend sắp xếp bố cục sao cho hợp lý

2.1.2. Mô tả

 Đề tài được giao:

 Nghiên cứu công nghệ lập trình Laravel trong xây dụng ứng dụng web.

 Thời gian hoạt động

 Từ ngày 02/01/2023 – 20/02/2023 theo lịch của nhà trường

 Vị trí làm việc

 Intern (Thực tập sinh) lập trình web quản lý sử dụng Laravel framework

 Phương thức làm việc

 Hoạt động offline tại văn phòng của Công ty, lịch làm việc theo công ty.

 Công việc

 Tìm hiểu Laravel framework

 Áp dụng kiến thức tìm hiểu được xây dựng các giao diện và chức năng trong
dự án quản lý giao việc

 Hoàn thiện báo cáo.

16
2.2. Quy trình thực hiện

 Nội dung và lộ trình thực tập tại Công ty Cổ phần Công nghệ, Dịch vụ Tài
nguyên và Môi trường (CDTM):

Bảng 2.1. Lộ trình thực tập


Người
Thời gian Tóm tắt nội dung thực tập Kết quả hướng
dẫn
Từ ngày - Đăng ký đơn vị thực tập và nội dung Hoàn thành tốt Tự tìm
27/12/2022 thực tập. hiểu
đến ngày - Tìm hiểu về đơn vị thực tập.
02/01/2023
Từ ngày - Tìm hiểu về công nghệ Laravel - Hoàn thành Quản lý dự
02/01/2023 framework: tìm hiểu thông án.
đến ngày + Cách xây dựng và cách hoạt động qua đọc tài liệu
16/01/2023 của Laravel trên mạng.
+ Các phương thức và thuộc tính của - Cài đặt thành
Laravel. công môi
- Cài đặt Môi trường khởi tạo ứng trường phát
dụng Laravel web App cơ bản đầu tiên triển công nghệ
- Học Laravel thông qua dự án đào tạo Laravel trên
theo leader. Visual Studio
và tạo dự án cơ
bản bằng câu
lệnh terminal
đầu tiên trên nó.
- Thành công
sao chép một
vài chức năng
trong dự án đào
tao.

17
Từ ngày Nghỉ tết âm lịch theo lịch nghỉ tết của Hoàn thành tốt Quản lý dự
16/01/2023 công ty án.
đến ngày
30/01/2023
Từ ngày - Tham gia vào dự án quản lý giao việc - Đã hoàn thành Quản lý dự
30/01/2023 của công ty: sao chép chức án.
đến ngày + Sao chép một chức năng trong dự án năng trong dự
07/02/2023 Quản lý giao việc án đào tạo và dự
+ Nghiên cứu, tìm hiểu cấu trúc dự án án Quản lý giao
Quản lý giao việc việc
- Cơ bản hiểu
cấu trúc dự án.
Cần nghiên cứu
thêm để có thể
hiểu sâu hơn.

18
Từ ngày - Học nghiệp vụ của dự án quản lý giao - Cơ bản đã biết Quản lý dự
07/02/2023 việc cách triển khai án.
đến ngày - Tự triển khai thiết kế, xây dựng các và xây dựng các
20/02/2023 giao diện trong dự án: giao diện. Tuy
+ Thêm các chức năng năng mới. nhiên, chưa
+ Tạo một số mẫu biểu thông tin. hoàn chỉnh
+ Thêm mới trường thông tin còn được hoàn toàn
thiếu. chức năng mới
- Sao chép chức năng ghép với hoàn chỉnh.
BackEnd tương ứng. - Dựa trên danh
- Gỡ lỗi theo dánh sách yêu cầu của sách lỗi phần
Leader trên Google Sheets. lớn đã biết tìm
hiểu nguyên
nhân gây lỗi và
gỡ lỗi đó.
- Chưa hoàn
thành hết còn
cần trợ giúp từ
những người có
kinh nghiệm
hơn và một số
lỗi chưa tự tìm
được nguyên
nhân.
Từ ngày - Chỉnh sửa lại những giao diện đã làm Hoàn thành tốt
20/02/2023 được.
đến ngày - Hoàn thiện các chức năng với một vài
27/02/2023 giao diện.
- Hoàn thiện báo cáo thực tập.

19
CHƯƠNG 3: CỞ SỞ LÝ THUYẾT

3.1. Laravel

3.1.1. Laravel là gì?

Laravel là một framework rõ ràng và ưu việt cho việc phát triển web PHP. Giải
thoát bạn khỏi mã spaghetti (mã nguồn có tính phi cấu trúc và khó bảo trì ), nó giúp bạn
tạo ra những ứng dụng tuyệt vời, sử dụng syntax đơn giản. Phát triển là thích thú
những trải nghiệm sáng tạo chứ không phải là sự khó chịu.
Framework chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để
lập trình viên sử dụng thay vì phải tự thiết kế. Có Framework, lập trình viên chỉ tìm
hiểu và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản
phẩm. Đối với lập trình viên trong mỗi một lĩnh vực, họ cần phải xây dựng các lơp
chương trình để xây dựng nên những phần mềm, ứng đụng thành phẩm.
PHP Framework là thư viện làm cho sự phát triển của những ứng dụng Web viết
bằng ngôn ngữ PHP trở nên trôi chảy hơn. Bằng cách cung cấp 1 cấu trúc cơ bản để
xây dựng những ứng dụng. Hay nói cách khác, PHP Framework giúp bạn thúc đẩy
nhanh chóng quá trình phát triển ứng dụng. Giúp bạn tiết kiệm được thời gian, tăng sự
ổn định cho ứng dụng. Giảm thiểu số lần phải viết lại code cho lập trình viên.

3.1.2. Lịch sử phát triển

Phiên bản đầu tiên của Laravel được Taylor Otwell tạo ra vào tháng 6 năm 2011
như một giải pháp thay thế cho Codelgniter. Với Framework này, lập trình viên được
hỗ trợ nhiều tính năng mới mẻ, hiệu quả và dễ thực hiện hơn. Cho đến nay, Laravel đã
được phát triển đến phiên bản 10.x với nhiều cải tiến mới mẻ hơn.

3.1.3. Ưu và nhược điểm

*Ưu điểm
Sử dụng các tính năng mới nhất của PHP
Sử dụng Laravel giúp các lập trình viên tiếp cận những tính năng mới nhất mà
PHP cung cấp, nhất là đối với Namespaces, Interfaces, Overloading, Anonymous
functions và Shorter array syntax.
Nguồn tài nguyên vô cùng lớn và sẵn có

20
Nguồn tài nguyên của Laravel rất thân thiện với các lập trình viên với đa dạng tài
liệu khác nhau để tham khảo. Các phiên bản được phát hành đều có nguồn tài liệu phù
hợp với ứng dụng của mình.
Tích hợp với dịch vụ mail
Laravel là framework được trang bị API sạch trên thư viện SwiftMailer. Do đó
bạn có thể gửi thư qua các dịch vụ dựa trên nền tảng đám mây hoặc local.
Tốc độ xử lý nhanh
Laravel hỗ trợ hiệu quả cho việc tạo lập Website hay các dự án lớn trong thời
gian ngắn. Vì vậy, nó được các công ty công nghệ và lập trình viên sử dụng rộng rãi để
phát triển các sản phẩm của họ.
Dễ sử dụng
Laravel được đón nhận và trở nên sử dụng phổ biến. Thường chỉ mất vài giờ, bạn
có thể bắt đầu thực hiện một dự án nhỏ với vốn kiến thức cơ bản nhất về lập trình với
PHP.
Tính bảo mật cao
Laravel cung cấp sẵn cho người dùng các tính năng bảo mật mạnh mẽ để người
dùng hoàn toàn tập trung vào phát triển sản phẩm của mình:
Sử dụng PDO để chống lại tấn công SQL Injection.
Sử dụng một Field Token ẩn để chống lại tấn công kiểu CSRF.
Mặc định đều được Laravel Escape các biến được đưa ra View mặc định, do đó
có thể tránh được tấn công XSS.
*Nhược điểm
So với các PHP Framework khác, Laravel bộc lộ khá ít nhược điểm. Vấn đề lớn
nhất có thể kể đến của Framework này là thiếu sự liên kết giữa các phiên bản, nếu cố
gắng cập nhật code, có thể khiển cho ứng dụng bị gián đoạn hoặc phá vỡ.
Bên cạnh đó Laravel cũng quá nặng cho ứng dụng di động, khiến việc tải trang
trở nên chậm chạp.

3.1.4. Mô hình hoạt động

MVC (Model-View-Controller) là mẫu kiến trúc phần mềm trên máy tính nhằm
mục đích tạo lập giao diện cho người dùng. Theo đó hệ thống MVC được chia thành

21
ba phần có khả năng tương tác với nhau và tách biệt các nguyên tắc nghiệp vụ với giao
diện người dùng.

Hình 3.1. Mô hình hoạt động


Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi
đúng những phương thức xử lý chúng.
Model: Là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy
xuất Database, đối tượng mô tả dữ liệu như các Class, hàm xử lý,...
View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng nơi chứa tất cả
các đối tượng GUI như textbox, Images,…
Bằng cách này, thông tin nội hàm được xử lý tách biệt với phần thông tin xuất
hiện trong giao diện người dùng. Bảo đảm các nguyên tác nghề nghiệp của lập trình
viên.

3.1.5. Các tính năng của Laravel

Laravel Framework sở hữu một hệ sinh thái lớn bao gồm các tính năng như:
Instant Deployment, Routing, ORM, DB, query, Routing,…
Dưới đây là một số tính năng chính làm cho Laravel Framework khác biệt so với
các Web Framework khác.
Tính năng quản lý phụ thuộc
Quản lý phụ thuộc (Dependency Management) là một trong những tính năng tốt
nhất, hiểu chức năng của Service Container (IoC) là phần cốt lõi để tìm hiểu các ứng
dụng web hiện tại.
22
Trong Laravel, Ioc (Inversion of Control) hoặc Service Container là công cụ
mạnh nhất để quản lý các class phụ thuộc.
Dependency Injection là một phương pháp để loại bỏ các class được lập trình
cứng và dễ bị tấn công SQL bằng cách sử dụng một công cụ như Composer.
Tính mô đun
Tính mô đun là một thành phần ứng dụng web có thể được tách ròi và kết hợp lại.
Bạn có thể phân chia logic nghiệp vụ thành các mô đun khác nhau, tất cả đều hoạt
động cùng nhau để làm cho ứng dụng web hoạt động. Laravel được thiết kế để tạo ra
một ứng dụng web mô đun hóa, ngay cả bản thân Laravel cũng là một bộ sưu tập các
thành phần.
Sử dụng cấu trúc mô đun, bạn có thể thiết kế và phát triển một ứng dụng doanh
nghiệp quy mô lớn một cách dễ dàng. Laravel cung cấp các hướng dẫn rất đơn giản để
tạo các mô đun hoặc pakage trong Laravel.
Tính năng xác thực
Xác thực là một phần không thể thiếu của bất ky website hiện đại nào. Viết xác
thực trong các Framework khác như có thể làm bạn mất rấy nhiều thời gian. Nhưng
với Laravel thì hoàn toàn ngược lại, chỉ việc chạy một lệnh đơn giản bạn có thể tạo
một hệ thống xác thực đầy đủ chức năng.
Ngoài ra, Laravel cũng cung cấp tài liệu tiện dụng để thực hiện xác thực theo nhu
cầu riêng của bạn.
Tính năng Caching
Caching (bộ nhớ đệm) là một kỹ thuật để lưu trữ dữ liệu trong một vị trí lưu trữ
tạm thời và có thể được lấy ra một cách nhanh chóng khi cần thiệt. Nó chủ yếu được
sử dụng để tăng hiệu suất của website. Laravel lưu gần như tất cả dữ liệu từ view đến
routes. Điều này giúp Laravel giảm thời gian xử lý và tăng hiệu suất.
Định tuyến (Routing)
Định tuyesn (Routing) trong Laravel rất dễ hiểu và giống như
Framework Ruby on Rails. Định tuyến Laravel có thể được sử dụng để tạo ra một ứng
dụng tĩnh một cách dễ dàng. Bạn có thể nhóm các routes, đặt tên cho chúng, áp dụng
các bộ lọc và liên kết mô hình dữ liệu.

23
Các routes của Laravel có thể sử dụng để tạo ra các URL thân thiện với công cụ
tìm kiếm với tính linh hoạt và kiểm soát tối đa.
Restful Controller
Restful Controller của Laravel cho phép bạn tách logic nghiệp vụ sau khi phục vụ
các request GET hoặc POST. Bạn cũng có thể tạo resource controller có thể được sử
dụng để tạo CRUD dễ dàng. Sau đó, bạn có thể liên kết resource controller để định
tuyến nhằm phục vụ tất cả các routes CRUD tự động.
Kiểm thử và gỡ lỗi
Laravel đi kèm với PHP Unit để kiểm thử các ứng dụng của bạn. Laravel được
xây dụng với khả năng kiểm thử từ đầu, do đó sẽ giúp bạn kiểm tra và gỡ lỗi các ứng
dụng một cách tốt.
Template Engine
Blade là Template Engine của Laravel. Blade cung cấp một số lượng nhỏ chức
năng của helper để định dạng dữ liệu của bạn trong View.
Blade cũng khiển khai kế thừ Template mà bạn có thể sử dụng để tạo bố cục
phức tạp. Tất cả các Blade Template đều sử dụng phần mềm mở rộng tệp .blade.php.
Database Query Builder
Database Query Builder của Laravel cung cấp một cách thuận tiện để tạo các truy
vấn cơ sở dữ liệu. Nó đi kèm với vô số chức năng của trình trợ giúp mà bạn có thể sử
dụng để lọc dữ liệu của mình.
Bạn có thể dễ dàng thực hiện các truy vấn phực tạp bằng join trong Laravel. Cú
pháp Query Builder của Laravel rất dễ hiểu và làm cho việc viết các truy vấn cơ sở dữ
liệu trở nên nhẹ nhàng hơn rất nhiều.
ORM
Laravel dựa trên Eloquent ORM cung cấp hỗ trợ cho hầu hết các Database
Engine. Laravel hoạt động hoàn hảo với MySQL và SQLite. Laravel cũng cung cấp tài
liệu toàn diện cho tất cả các hàm Eloquent.
Tính năng File System
Laravel cung cấp hỗ trợ cho nhiều hệ thống tập tin. Bạn có thể sử dụng hệ thống
tệp cục bộ hoặc bất kỳ nền tảng đám mây nào như Amazos S3. Bạn có thể chọn hệ

24
thống tệp nào bạn muốn sử dụng bằng cách thay đôi các tùy chọn trong
tệp config/filesystems.php.
Tính năng bảo mật của Laravel rất tốt
Laravel lưu trữ tất cả mật khẩu dưới dạng hash thay vì mật khẩu văn bản text đơn
giản. Laravel sử dụng BCrytp để hash mật khẩu. Laravel cung cấp bảo mật để chống
lại các cuộc tấn công truy vấn SQL (SQL Injection). An toàn khi xử lý với dữ liệu mà
người dùng cung cấp.
Artisan
Công cụ dòng lệnh của Laravel được gọi là Artisan. Laravel đi kèm với hàng tá
lệnh được xây dựng sẵn mà bạn có thể chạy giao diện dòng lệnh để thực hiện các tác
vụ. Bạn có thể tránh hầu hết các tác vụ lặp đi lặp lại trong quá trình phát triển này.
Hệ thống Migration
Laravel cung cấp hệ thống Migration giống như Ruby on Rails để tạo cấu trúc cơ
sở dữ liệu. Bạn có thể sử dụng ngôn ngữ PHP để viết Migration để tạo cấu trúc cở sở
dữ liệu của bạn thay vì sử dụng SQL.
Bạn có thể tạo cở sở dữ liệu, bảng và chỉ mục bằng Migration. Nếu bạn muốn
thay đôit cột, bạn không cần phải lặp lại việc tạo bảng thay vào đó bạn có thể chạy
Migration mới.
Tính năng Envoy
Sử dụng Envoy, bạn có thể chạy tác vụ phổ biến nhất trên các máy chủ từ xa
trong ứng dụng của mình. Nó cũng cho phép bạn thiết lập các task để deploy.
Tính năng địa phương hóa
Laravel cho phép bạn tạo một ứng dụng đa ngôn ngữ đồng thời khi xây dựng
website của mình. Bạn có thể truy cập chuỗi các ngôn ngữ khác nhau bằng cách sử
dụng trình trợ giúp tran ().
Laravel đã tự chứng mình là PHP Framework tốt nhất nhờ tất cả các tính năng
trên. Laravel vẫn luôn được cải tiến để giúp bạn tạo ra một website mạnh mẽ theo một
cách đơn giản, dễ dàng, dễ học. Những lý do trên giúp Laravel là PHP Framework
được sử dụng nhiều nhất.

25
3.2. Cài đặt môi trường phát triển Laravel trên windows (Visual Studio Code)

Visual Studio Code chính là ứng dụng cho phép biên tập, soạn thảo các đoạn
code để hỗ trợ trong quá trình thực hiện xây dựng, thiết kế website một cách nhanh
chóng. Visual Studio Code hay còn được viết tắt là VS Code. Trình soạn thảo này vận
hành mượt mà trên các nền tảng như Windows, macOS, Linux.
- Cài Visual Studio Code tại đây: https://code.visualstudio.com/
Trước khi tạo dự án Laravel đầu tiên của bạn, bạn nên đảm bảo rằng máy cục bộ
của bạn đã cài đặt PHP và Composer. Nếu bạn đang phát triển trên macOS, PHP và
Trình soạn thảo có thể được cài đặt qua Homebrew.

3.2.1. Cài đặt XAMPP

Xampp là chương trình tạo máy chủ Web được tích hợp sẵn Apache, PHP,
MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin. Không như
Appserv, Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc
khởi động lại các dịch vụ máy chủ bất kỳ lúc nào.
Cách cài đặt XAMPP trên Windows
 Bước 1: Download XAMPP
 Bước 2: Nhấp vào file có đuôi .exe trên file tải xuống.
 Bước 3: Trên cửa sổ Set up, tích chọn các phần mềm mà bạn muốn cài đặt.
Nếu bạn muốn cài WordPress trên XAMPP, các phần mềm bắt buộc phải
chọn là MySQL, Apache, PHPMyAdmin. Sau khi chọn xong, nhấn Next.
 Bước 4: Chọn thư mục cài đặt và nhấn Next.
 Bước 5: Chờ vài phút để cài đặt, sau khi cài đặt hoàn tất nhấn finish để kết
thúc.

3.2.2. Cài đặt Composer

Composer là một Dependency Management trong PHP, công cụ quản lý các thư
viện mà project Php của bạn sử dụng. Một cách chính xác hơn Composer quản lý sự
phụ thuộc các tài nguyên trong dự án. Nó cho phép khai báo các thư viện mà dự án của
bạn sử dụng, composer sẽ tự động tải code của các thư viện. Nó tạo ra các file cần thiết
vào project của bạn, và cập nhật các thư viện khi có phiên bản mới.
Cài đặt Composer trên Windows
26
Download Composer Windows: Với các bạn dùng hệ điều hành Windows, có thể
download Composer-Setup.exe tại đây: https://getcomposer.org/Composer-Setup.exe
Các bước cài đặt
Sau khi download về máy, bạn tiến hành cài đặt như các phần mềm khác:
Click “Next” để tiến hành cài đặt
Nếu gặp lỗi bạn cứ việc bấm “Next” để bỏ qua

Hình 3.2. Cài đặt Composer


Đến bước này, bạn chọn đường dẫn tới file php.exe trong xampp hoặc ampps của
bạn.
C:\xampp\php\php.exe
Lưu ý: Đường dẫn kia chỉ mang tính chất tham khảo, có những phiên bản Xampp
còn phụ thuộc vào phiên bản PHP cho nên folder cũng sẽ thay đổi. Để chính xác bạn
nên tìm trong thư mục cài đặt xampp, ampps trên máy tính của bạn
Phần Proxy URL bạn bỏ trống và bấm nút “Next” để tiếp tục
27
Bấm nút “Install” để cài đặt
Bấm nút “Finish” để hoàn tất cài đặt
Kiểm tra Composer
Bạn mở cmd trên Windows và gõ lệnh sau:
composer -v
Nếu ra giao diện như sau thì Composer đã được cài đặt thành công

Hình 3.3. Kiểm tra Composer

3.2.3. Tạo project Laravel đầu tiên

Sau khi bạn đã cài đặt PHP và Composer, bạn có thể tạo một dự án Laravel mới
thông qua lệnh tạo dự án của Composer:
composer create-project laravel/laravel:^9.0 example-app

28
Hình 3.4. Tạo dự án mới thông qua câu lệnh
Sau khi dự án đã được tạo, hãy khởi động máy chủ phát triển cục bộ của Laravel
bằng cách sử dụng lệnh phục vụ Artisan CLI của Laravel:
cd example-app
php artisan serve
Khi bạn đã khởi động máy chủ phát triển Artisan, ứng dụng của bạn sẽ có thể
truy cập được trong trình duyệt web của bạn tại http://localhost:8000. Tiếp theo, bạn
đã sẵn sàng để bắt đầu thực hiện các bước tiếp theo của mình trong hệ sinh thái
Laravel. Tất nhiên, bạn cũng có thể muốn cấu hình một cơ sở dữ liệu.
Project sau khi tạo và run trên local mặc định (http://127.0.0.1:8000/):

29
Hình 3.5. Project sau khi tạo

30
3.2.3. Cấu trúc thư mục Laravel (mặc định)

Khởi tạo một dự án Laravel mới thông qua lệnh tạo dự án của Composer. Ta có cấu
trúc thư mục như nhau:

Hình 3.6. Cấu trúc thư mục dự án Laravel (mặc định)


Thư mục app (The app directory)
31
Thư mục này chứa những code cốt lõi (core code) của ứng dụng. Hầu như tất cả
các lớp (class) bạn tạo cho project sẽ nằm ở đây.
Thư mục bootstrap (The bootstrap directory)
Thư mục bootstrap chứa file app.php làm việc như một bootstrap của ứng dụng.
Ngoài ra còn có thư mục cache dùng để chứa các file bộ nhớ config, route, services...
cho việc tối ưu hiệu năng.
Thư mục config (The config directory)
Thư mục này chứa tất cả file config ứng dụng, rất thuận tiện cho việc thay đổi các
thiết lập.
Thư mục database (The database directory)
Như tên gọi của nó, thư mục này sẽ chứa các file làm việc với cơ sở dữ liệu
(database) của ứng dụng. Trong này gồm 3 phần: factories, migrations và seeds.
Về phần factories, nói dễ hiểu nó sẽ có chức năng tạo dữ liệu ảo database, phối
hợp cho việc testing.
Thư mục migrations sẽ chứa các file dùng để khởi tạo các bảng (table) trong
database. Mình sẽ tìm hiểu sâu hơn trong những tập kế tiếp.
Còn về seeds, chẳng hạn khi ứng dụng của bạn bị xóa hết các table trong
database, thì với seeds cùng với các file seeder sẽ giúp chúng ta khôi phục lại database
theo những gì đã thiết lập sẵn trước đó nhưng có thể sẽ mất đi dữ liệu đã có hoặc thay
thế bằng dữ liệu mặc định được khai báo trong các file seeder.
Thư mục public (The public directory)
Thư mục public chứa file index.php, file này đảm nhận vai trò như một đích đến
của các request và autoload các lớp. Ngoài ra nó còn chứa các tài nguyên mà trình
duyệt (browser) có thể truy cập như JS, CSS, hình ảnh...
Thư mục resources (The resources directory)
Thư mục resources chứa các tài nguyên thô chưa được biên dịch như view,
LESS, SASS hoặc Javascript...
Thư mục routes (The routes directory)
Thư mục routes chứa các tuyến đường (route) đã định nghĩa của ứng dụng. Mặc
định các file: api.php, web.php, channels.php và console.php được kết nối với Laravel.
Mình sẽ giải thích đơn giản công dụng của từng file:

32
File web.php: đơn giản nó sẽ chứa những route chứa request từ trình duyệt, chịu
ảnh hưởng từ session, cookie, CSRF (tính năng bảo mật trong Laravel). Nếu ứng dụng
của bạn không có các RESTful API thì hầu như các route sẽ nằm trong file này.
Chẳng hạn đoạn code bên dưới ở file routes/web.php:
Route::get('/', function () {
return view('welcome');
});

Đây chính là code khai báo một route với phương thức GET, khi truy cập đường
dẫn http://localhost:8000 thì trình duyệt sẽ trả về một view với tên là "welcome".
File api.php: như ở trên đã nói, file này sẽ chứa các route có chức năng như là
RESTful API hoặc cái gì đó tương tự, chịu ảnh hưởng qua kiểm duyệt token,
authenticated... và có thể giới hạn thời gian tồn tại.
File console.php: nơi đây bạn có thể định nghĩa các Clouser bằng các lệnh
console, dù nằm trong nhóm route nhưng đây không phải định nghĩa một route theo
phương thức HTTP.
Để test xem nó làm việc thế nào, bạn có thể mở file routes/console.php sẽ thấy
một đoạn code ví dụ (example code) bên dưới:
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');

Bây giờ các bạn mở commander lên và chạy thử lệnh:


php artisan inspire
Một kết quả khá thú vị sẽ được trả về:

Nó trả về cho chúng ta một câu nói hoặc danh ngôn của người nổi tiếng, nếu bạn
chạy lệnh một lần nữa sẽ ra một câu khác. Đó chính là cách "làm việc" của console
route.
File channels.php: bạn tìm đến file này khi ứng dụng của bạn sử dụng thời gian
thực (real-time), file này hỗ trợ cho ứng dụng của bạn có thể tương tác các sự kiện
giữa phía người dùng (client-side) và phía hệ thống (server-side).

33
Thư mục storage (The storage directory)
Thư mục storage chứa các file blade template (chúng ta sẽ tìm hiểu nó ở tập sau)
đã được phiên dịch (complied), các file session, file cache và một số file khác được tạo
bởi framework. Thư mục này gồm app, framework và logs.
Thư mục app dùng để lưu trữ bất kỳ file nào do ứng dụng của mình tạo ra. Thư
mục storages/app/public có thể dùng để lưu trữ các file do người dùng (user) đăng tải,
chẳng hạn như ảnh đại diện (avatar) có thể truy cập công khai.
Về framework như đã nói ở trên, nó dùng để lưu trữ các file mà framework tạo ra
để hỗ trợ trong việc chạy ứng dụng.
Cuối cùng, thư mục logs sẽ chứa các file log gồm có các lỗi trong quá trình code
(errror log).
Thư mục tests (The tests directory)
Thư mục này bạn chỉ hiểu đơn giản dùng để test các class trong quá trình thử
nghiệm trên commander.
Thư mục vendor (The vendor directory)
Thư mục vendor chứa các thư việc tích hợp và mã nguồn của Laravel, nếu bạn
nào thích tìm tòi, khám phá và học hỏi cách code của nó thì nên tìm hiểu sâu thư mục
này.

34
CHƯƠNG 4: KẾT QUẢ NGHIÊN CỨU VÀ ĐÁNH GIÁ

4.1. Kết quả đạt được

4.1.1. Cở sở lý thuyết

 Kiến thức có được

 Giúp em củng cố hơn về kiến thức lý thuyết đã học, vận dụng được kiến thức
đã học để phân tích, giải quyết các vấn đề khi thực tập tại công ty.

 Rèn luyện phương pháp, kỹ năng học tập nơi công sở tạo điều kiện cho em có
kiến thức thực tế

 Vận dụng những kiến thức có được và áp dụng giải quyết những vấn đề đặt ra
trong thực tiễn quản lý.

 Từ quá trình học tập và nghiên cứu ở công ty CDTM em đã bổ sung cho hành
trang của bản thân một framework mới là Laravel, giúp em học được cách xây
dựng một trang web theo một hướng mới.

 Em đã học được từ anh, chị trong công ty cách phân chia thư mục, tổ chức, sử
dụng các thư mục theo các chức năng hợp lý.

 Hiểu được cách thức vận dụng, sử dụng các các hàm, phương thức,…

4.1.2. Cơ sở thực hành

 Em học hỏi được cách fix bug (gỡ lỗi), bố cục layout hợp lý,…

 Biết cách gọi BE hợp lý.

 Kĩ năng mềm trong làm việc nhóm, kỹ năng giải quyết vấn đề.
 Viết báo cáo, trình bày báo cáo,…

4.1.3. Kỹ năng đạt được

 Rèn luyện kỹ năng làm việc kỹ năng tổ chức công sở, tiếp cận và bổ sung kiến
thức thực tiễn làm quen với môi trường làm việc thực tế
 Nội quy, nề nếp tác phong của công ty
 Cách truyền đạt ý tưởng, quan điểm của mình cho người khác hiểu.

35
 Cách phân bổ công việc và quản lý công việc đúng thời gian.

4.1.4. Đánh giá

 Những điểm phù hợp giữa chương trình đào tạo với hoạt động thực tập thực tế
tại cơ sở:

 Đúng với cơ sở lý thuyết, các cách sử dụng công nghệ, cách vận dụng.

 Đều đi từ cơ sở lý thuyết rồi mới thực hành.

 Có các công việc được giao.

 Những điểm chưa phù hợp giữa chương trình đào tạo với hoạt động thực tập
thực tế tại cơ sở:

 Nề nếp, tác phong của công ty

 Hoạt động thực tập thực tế trải qua nhiều áp lực hơn.

 Deadline nhiều hơn.

 Thực tập thực thế thì trao đổi, hoạt động theo nhóm nhiều hơn.

 Tự tìm hiểu và giải quyết vấn đề của bản thân.

 Đi làm thì phải tạo ra sản phẩm mới thành công còn học thì code chạy,
code đẹp là được.

 Đề xuất các giải pháp đổi mới nội dung chương trình học, phương pháp đào tạo:

 Xây dựng các mô hình học tập theo team, tổ chức tương tự dạng một công
ty nhỏ để sinh viên có thể tiếp xúc sớm hơn với môi trường làm việc.

 Tạo điều kiện cho sinh viên đi thực tập sớm hơn, dài hơn để có nhiều thời
gian tìm hiểu, làm việc với môi trường thực tế.

4.2. Kết quả thực hành

Hình ảnh kết quả đạt được:

36
Hình 4.1. Giao diện nghiệp vụ quản lý người dùng

Hình 4.2. Giao diện danh sách hợp đồng đơn vị sử dụng thư viện faker (nhiều
dữ liệu giả, mục đích kiểm tra chịu tải)

37
Hình 4.3. Giao diện chức năng thêm mới hợp đồng đơn vị (Có validate dữ liệu)

Hình 4.4. Giao diện chức năng xem chi tiết thông tin dự án

38
Hình 4.5. Giao diện chức năng chỉnh sửa thông tin dự án

Hình 4.6. Giao diện chức năng xóa thông tin dự án

Hình 4.7. Chức năng phân trang hiển thị

Hình 4.8. Chức năng tìm kiếm, lọc nghiệp vụ

39
Hình 4.9. Giao diện Nghiệp vụ báo cáo, thống kê và chức năng xuất thông tin
ra excel

Hình 4.10. Giao diện sau khi xuất excel nghiệp vụ báo cáo, thống kê (Excel
Microsoft)

40
Hình 4.11. Giao diện dach sách đề nghị chỉnh sửa

41
KẾT LUẬN VÀ KIẾN NGHỊ

 Kết luận

Trong thời gian thực tập em nhận thấy rằng ở mỗi công ty có sự khác nhau, đều có
những điểm thuận lợi và khó khăn nhất định đối với sinh viên chúng em. Từ đó giúp
chúng em có những sự lựa chọn đúng đắn. Công ty Cổ phần Công nghệ, Dịch vụ Tài
nguyên và Môi trường (CDTM) là một môi trường tốt cho những sinh viên ra trường
cũng như sinh viên muốn đi làm thêm để lấy kinh nghiệm với một môi trường làm việc
đầy tính năng động khoa học, chuyên nghiệp, hợp lí giúp phát triển tốt năng lực của
mỗi thành viên.

Tại CDTM công việc có tính gợi mở và đầy sáng tạo, điều đó cũng đòi hỏi ở mỗi
sinh viên phải có những kiến thức chuyên môn nhất định và cả những kĩ năng mềm
mới đáp ứng được đòi hỏi của công việc. Với CDTM, chúng ta có thể chọn cho mình
con đường thăng tiến phù hợp nhất với khả năng và nguyện vọng.

Để bắt kịp với những thay đổi công nghệ mà khách hàng yêu cầu, cũng như nhu
cầu thăng tiến, nhân viên làm việc tại CDTM sẽ thường xuyên được phát triển bản
thân, đào tạo kỹ năng mới. Trong quá trình làm việc, đóng góp cho công ty, nhân viên
có những quyền lợi tương xứng, bao gồm thu nhập, khen thưởng và những quyền lợi
khác.

Nhờ kỳ thực tập này, sinh viên sẽ thấy được cơ hội việc làm và phát triển của mình,
trong môi trường doanh nghiệp thông qua các buổi tọa đàm tuyển dụng, con đường
học tập của sinh viên từ nhà trường tới dự án doan nghiệp cũng trở nên rõ ràng hơn.

Trong thời gian hai tháng thực tập tại CDTM, em đã định hướng được nghề nghiệp
cho mình, ngoài kiến thức chuyên môn thì việc học tập kỹ năng mềm cũng như văn
hóa doanh nghiệp cũng rất thú vị và bổ ích. Tuy sự trải nghiệm này không dài nhưng
thu hoạch từ kỳ thực tập đối với em là không nhỏ và đáng quý vượt qua sự mong đợi
lúc đầu. Cũng phải kể đến những bỡ ngỡ, khó khăn khi tham gia vào môi trường mới,
những công việc mới, … đó là những khó khăn khởi đầu để em có thể bước đi và
trưởng thành hơn.

 Kiến nghị

42
Sau khi hoàn thành quá trình thực tập em học được:

 Cách làm việc nhóm.

 Công nghệ mới.

 Cách sử dụng công nghệ đó vào dự án thực tế.

 Kĩ năng giao tiếp, thuyết trình vấn đề.

Tuy kết quả em xây dựng, nghiên cứu chưa hoàn thiện nhưng em mong muốn:

 Được nghiên cứu đồ án tốt nghiệp dựa trên sườn nghiên cứu thực tập.

 Phát triển thành một ứng dụng hoàn chỉnh và đưa vào thực tế sử dụng, kinh
doanh.

Qua đây em cũng mong muốn được hoàn thiện phần thực tập lần này để làm cơ sở
cho đồ án tốt nghiệp của em sắp tới với các nội dung dự kiến như sau:

Một trang web hoàn chỉnh với phần FrontEnd, BackEnd.

FrontEnd bao gồm:

 Trang chủ

 Trang quản trị

 Trang quản lý tài khoản

 Trang đăng ký, đăng nhập

 ….

BackEnd: Xây dựng API, Database theo các giao diện.

Vì em xây dựng theo một dự án thực tế nên quá trình xây dựng sẽ gặp không ít
những có khăn, tuy nhiên em sẽ cố gắng để hoàn thiện tốt nhất

43
DANH MỤC TÀI LIỆU THAM KHẢO

Tiếng anh:
[1] Laravel: Up & Running - A Framework for Building Modern PHP Apps - Matt
Stauffer
[2] Mastering Laravel– Christopher John Pecoraro
Tiếng viêt:
[1] Tài liệu PDF và web để học framework Laravel

Danh mục các Website tham khảo:


[1] https://laravel.com/docs/9.x
[2] https://www.apachefriends.org/index.html
[3] https://getcomposer.org/
[4] https://stackoverflow.com/
[5] https://wiki.matbao.net/laravel-la-gi-huong-dan-cai-dat-laravel-nhanh-chong/
[6] https://bizflycloud.vn/tin-tuc/laravel-la-gi-20181215105304519.htm

44

You might also like