Professional Documents
Culture Documents
Bao Cao Thuc Tap Tran Dang Thanh CNTT13-03 1351020102
Bao Cao Thuc Tap Tran Dang Thanh CNTT13-03 1351020102
TÊN ĐỀ TÀI
Để 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.
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.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
Bảng 1.1. Bảng danh sách nhân sự chủ chốt của Công ty...............................................7
Bảng 1.4. Bảng một số hợp đồng tiêu biểu của Công ty...............................................10
MỤC LỤC............................................................................................................................
2.1.2. Mô tả...........................................................................................................17
CHƯƠNG 3: CỞ SỞ LÝ THUYẾT...................................................................................
3.1. Laravel................................................................................................................21
3.2. Cài đặt môi trường phát triển Laravel trên windows (Visual Studio Code)......26
4.1.1. Cở sở lý thuyết............................................................................................36
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ị
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.
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:
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…
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
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:
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
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.
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
13
khu vực thị xã
Quảng Yên – tỉnh CP
Quảng Ninh
15
CHƯƠNG 2: QUÁ TRÌNH THỰC TẬP TẠI ĐƠN VỊ
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ả
Nghiên cứu công nghệ lập trình Laravel trong xây dụng ứng dụng web.
Intern (Thực tập sinh) lập trình web quản lý sử dụng Laravel framework
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
Á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
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):
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
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.
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.
*Ư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.
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.
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.
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.
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
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:
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');
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.1. Cở sở lý thuyết
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,…
Em học hỏi được cách fix bug (gỡ lỗi), bố cục layout 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,…
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.
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.
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ở:
Hoạt động thực tập thực tế trải qua nhiều áp lực hơn.
Thực tập thực thế thì trao đổi, hoạt động theo nhóm nhiều hơ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ế.
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
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:
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:
Trang chủ
….
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
44