Báo cáo thực tập này tập trung vào trải nghiệm của tôi khi tham gia vào một khoảng thời gian thực tập tại một công ty hàng đầu trong ngành. Bài báo cáo bao gồm mô tả chi tiết về công ty, cơ sở hạ tầng, và văn hóa làm việc, đồng thời đi sâu vào nhiệm vụ cụ thể mà tôi đã thực hiện trong thời gian thực tập. Bài báo cáo bắt đầu bằng việc giới thiệu về mục tiêu và mục đích của thực tập, sau đó trình bày về quá trình làm việc, kỹ năng và kiến thức mới mà tôi đã học được. Tôi cũng đề cập đến những thách thức mà tôi đã phải đối mặt và cách tôi đã vượt qua chúng để đạt được mục tiêu của mình. Ngoài ra, bài báo cáo cũng tập trung vào những giảng dạy và nhận xét từ người hướng dẫn thực tập, đồng thời đánh giá về sự tiến triển cá nhân và chuyên môn của tôi. Cuối cùng, tôi sẽ đưa ra những kết luận và đề xuất các cải tiến có thể được áp dụng trong tương lai dựa trên trải nghiệm thực tập của mình
Trang 1ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP DOANH NGHIỆP VÀ THỰC TẬP TỐT NGHIỆP
Ngành: Công Nghệ Thông Tin
ĐỀ TÀI:
Lập trình web - Laravel
Cán bộ hướng dẫn: NGUYỄN NGỌC BÍCH
Giảng viên hướng dẫn: PHẠM THỊ THUẬN
Sinh viên thực hiện: PHẠM ĐÌNH THẮNG
Mã sinh viên: 70DCTT21190
Lớp: 70DCTT21
Hà Nội – 2020
Trang 2TRƯỜNG ĐH CÔNG NGHỆ GTVT
Khoa Công nghệ thông tin
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Cơ sở thực tập: Công ty cổ phần VNP Group
Tên cơ quan: Công ty cổ phần VNP Group
Địa chỉ: Tầng 3, Tòa nhà Hà Thành Plaza, số 102, Phố Thái Thịnh, Ngã tư sở ,HN
Trang 3Dự kiến kết quả:
- Nắm được tổng quan về lập trình laravel
- Tìm hiểu và nắm được phương pháp thiết kế hệ thống
- Cải thiện được kỹ năng mềm
Lịch trình thực hiện (Bám sát nội dung công việc):
Chương 1: Giới thiệu
1.1 Giới thiệu về công ty
1.2 Nội dung và mục tiêu thực tập
Tuần 1: Tìm hiểu về công ty Hoàn thành đề cương
Chương 3: Quá trình Tuần 6 +7 +8 +9+10+11+12:
Chương 4: Kết luận trong quá trình
Ngày nộp Báo cáo kết quả thực tập:
Ngày bảo vệ kết quả Thực tập tốt nghiệp:
Ý kiến phê duyệt của người hướng dẫn về nội dung Đề cương:
Ngày… tháng… năm
Trang 4Chữ ký của
người hướng dẫn
Xác nhận của giáo viên hướng dẫn
Xác nhận của đơn vị thực tập
MỤC LỤC
Trang 54.1 Những gì đạt được trong quá trình thực tập 20
Chương 1: Giới thiệu1.1, Giới thiệu về công ty.
1.1.1 Giới thiệu chung về công ty
Công Ty Cổ phần VNP GROUP - Viet Nam Price Joint Stock Company(VNP)- được thành lập ngày 21 tháng 8 năm 2006, tọa lạc tại số 102, phố TháiThịnh, phường Trung Liệt, quận Đống Đa, thành phố Hà Nội do CEO NguyễnNgọc Điệp sáng lập
Trải qua 10 năm hình thành và phát triển, VNP đã từng bước khẳng định vị trí
đi đầu của mình trong lĩnh vực thương mại điện tử cũng như truyền thông Internet.VNP là đối tác chiến lược cho các tập đoàn đầu tư hàng đầu của Nhật Bản nhưCyberAgent Venture, tập đoàn tài chính Mitsui, quỹ đầu tư IDG của Mỹ và CAIcủa Nhật Bản
Không chỉ đặt những viên gạch đầu tiên cho ngành TMĐT, VNP đã và đang
để lại những dấu ấn ấn tượng trong lĩnh vực này Song song với việc phát huy
Trang 6những thế mạnh sẵn có, VNP vẫn luôn tìm tòi, học hỏi và đúc rút kinh nghiệm để
có thể cho ra những sản phẩm tốt nhất cho khách hàng, hết mình vì sứ mệnh "giúpcho con người hạnh phúc hơn với internet, đem lại sự giàu có và tự hào cho cácthành viên"
2008 ● Nhận đầu tư từ IDG
2009 ● Ra mắt vatgia.com trên Mobile
● CyberAgent đầu tư
● Xây dựng hệ thống email, đấu giá, affiliate
● Thử nghiệm cổng thanh toán baokim.vn
2010 ● Ra mắt cổng thanh toán baokim.vn
● Ra mắt website mua hàng tốt nhất curce.vn
● Tích hợp thanh toán baokim.vn cho vatgia.vn
● Thay đổi giao diện vatgia.com
2011 ● Nhận đầu tư từ Mitsui
● Ra mắt dịch vụ phân phối vận chuyển tận nhà nhanh.vn
● Ra mắt website du lịch mytour.vn
2012 ● Nhận đầu tư từ Recruit JV
● Phát triển hệ thống cửa hàng giá tốt cucre.vn, hai cửa hàng
Trang 7Thời gian Hoạt động
đầu tiên ở Hà Nội
2013 ● Mở thêm 9 cửa hàng giá tốt curce.vn
● Baokim.vn phát hành thẻ khuyến mãi cho khách hàng Vpoint
2014 ● Mở thêm 6 cửa hàng giá tốt curce.vn
● Đẩy mạnh phát triển C2C kết hợp B2C
2015 ● Phát triển VNPU - nơi đào tạo nhân tài cho VNP
● Phát triển Vchat tạo ra lợi nhuận
● Phát triển phần mềm quản lý bán lẻ
2016 ● Bắt đầu tham gia vào lĩnh vực ăn uống online
● Đầu tư vào 5Ship trong lĩnh vực vận chuyển
● Đầu tư vào TopCV - tầm nhìn mong muốn trở thànhLinkined của Việt Nam
2017 ● Nhanh.vn ra mắt phần mềm quản lý fanpage facebook, kết
nối đồng bộ sàn TMĐT lazada.com, adayroi.com, vatgia.comgiúp quản lý đơn hàng, đối soát hiệu quả hơn, hoàn thành giảipháp quản lý bán lẻ đa kênh Omni-Channel
● Tách Westay.org thafnh1 dự án độc lập với VNP để gọi vốnphát triển
● Exit thành công 1 phần nhỏ khoản đầu tư vào Appota
● Chạy 123deta.com - Site tài liệu phiên bản tiếng Nhật cho thịtrường Nhật
2018 ● Bán Mytour cho Traveloka
● Chạy phần mềm quản lý nhà hàng wepos.vn
Trang 8Thời gian Hoạt động
● Chạy thử nghiệm 123job theo mô hình indeed US
● Đổi tên từ CTCP Vật Giá Việt nam thành CTCP VNP Group
1.2 Tầm nhìn và sứ mệnh
● Sứ mệnh: VNP thành lập ra để giúp cho mọi người hạnh phúc hơn với
internet, đem lại sự giàu có & tự hào cho các thành viên
● Tầm nhìn: Tạo ra hệ sinh giúp mua sắm hạnh phúc - kinh doanh hiệu quả.
Trang 9Chương 2: Kiến thức nền tảng2.1 Cơ sở lý thuyết
2.1.1, Khái niệm về website
Website còn gọi là trang web (hoặc trang mạng) là tập tập hợp các trang chứathông tin bao gồm văn bản, hình ảnh, video, dữ liệu, nằm trên một miền được lưutrữ trên máy chủ web
Website có thể được người dùng truy cập từ xa thông qua mạng Internet
2.1.2, Quy trình sản xuất website
Bước 1: Thu thập thông tin thiết kế website
- Mục đích của việc thu thập giúp nhà phát triển website không chệch hướngkhi thiết kế và khởi tạo một website Mọi thông tin càng chi tiết, càng cụ thể càngtốt
- Cần hiểu rõ về những yếu tố: mục tiêu của website, yêu cầu của khách hàng,nội dung cốt lõi website hướng tới,…
Bước 2: Lên kế hoạch thiết kế website
- Sau khi thu thập đầy đủ thông tin cần thiết, hãy hệ thống chúng lại và lên kếhoạch cụ thể gồm phác thảo sơ đồ website, liệt kê các chủ đề chính, phụ, các trangxuất hiện trên website
Bước 3: Thiết kế website
- Nên thiết kế website đủ thuận tiện, tối giản và dễ hiểu cho người sử dụng
Bước 4: Phát triển website
Với bước này, các nhân viên lập trình website sẽ thực hiện hóa những ý tưởng,đưa các chức năng cần có lên website Họ sẽ phải xây dựng các tính năng theo yêucầu như đã được thống nhất Đây cũng là một bước rất trọng yếu trong quytrình thiết kế website.
Bước 5: Kiểm tra và chỉnh sửa website
Trang 10- Phải đảm bảo rằng không có sự sai lệch giữa yêu cầu của khách hàng với sựđáp ứng của website tới khách hàng
- Hỗ trợ kiểm thử xem còn lỗi gì trên website
Bước 6: Hoàn thiện và bảo trì website
- Khách hàng sẽ duyệt chất lượng dự án trước khi website được đăng tải, đảmbảo hệ thống chạy tốt và đúng yêu cầu của mình
- Nếu cần thiết website sẽ được tiếp tục chỉnh sửa từ phía nhà phát triển
2.2, PHP
2.2.1, Khái niệm
Ngôn ngữ PHP là từ viết tắt của Personal Home Page (hiện nay là HypertextPreprocessor) Thuật ngữ này chỉ chuỗi ngôn ngữ kịch bản hay mã lệnh, phù hợp đểphát triển cho các ứng dụng nằm trên máy chủ
Hình 2.1: Ngôn ngữ PHP
2.2.2, Ưu điểm
PHP có 4 ưu điểm chính:
●Tính đơn giản và linh động: PHP sử dụng mã nguồn mở nên việc cài đặt
và sử dụng nó rất dễ dàng Ngôn ngữ này phù hợp với cả những người hoàn toàn
mới với nghề lập trình viên Bạn chỉ cần học chăm chỉ trong 3 – 6 tháng để thuần
thục nó
Trang 11●Cộng đồng hỗ trợ lớn: PHP là một ngôn ngữ phổ biến nên các diễn đàn,
đội nhóm chuyên sâu của PHP thuộc hàng ngũ đầu của ngành Bên cạnh đó, thịtrường tuyển dụng cho công việc này cũng chưa bao giờ giảm nhiệt
●Cơ sở dữ liệu đa dạng: PHP cho phép kết nối với hầu hết các loại cơ sở dữ
liệu như MySQL, mSQL, MS-SQL, SQLite, PostgreSQL, v.v Nhờ vậy, bạn sẽkhông bị giới hạn và có thể chọn cơ sở dữ liệu tối ưu nhất cho ứng dụng của mình
●Thư viện phong phú: Nhiều sách hướng dẫn và các tài liệu tham khảo có
sẵn, cung cấp các kiến thức hữu ích cho các lập trình viên mới làm quen dần
2.2.3, Nhược điểm
Mặc dù ngôn ngữ lập trình PHP hữu ích cho việc phát triển web, nhưng nócũng có một số nhược điểm nhất định Trong đó, hạn chế lớn nhất có thể kể đếnchính là lỗi bảo mật đến từ hai nguyên do chính:
● Bản chất mã nguồn PHP: Ngôn ngữ PHP có mã nguồn mở Điều này cónghĩa là các lỗ hổng của mã nguồn sẽ bị công khai ngay sau khi chúng được tìmthấy Do đó, trước khi kịp sửa chữa, các lỗ hổng có thể bị khai thác cho các mụcđích xấu
● Một số ứng dụng bằng ngôn ngữ PHP được thiết kế bởi người thiếu kinhnghiệm: Bởi PHP phù hợp với lập trình viên mới vào nghề Cho nên một số trangweb và ứng dụng được phát triển bởi những người còn thiếu kinh nghiệm cũng sẽđem đến hiệu suất và bảo mật kém hơn
2 3, Mysql
2.3.1, Khái niệm
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là
RDBMS) hoạt động theo mô hình client-server MySQL được tích hợp apache, PHP MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu Mỗi cơ sở dữ
liệu có thể có nhiều bảng quan hệ chứa dữ liệu MySQL cũng có cùng một cáchtruy xuất và mã lệnh tương tự với ngôn ngữ SQL MySQL được phát hành từ thậpniên 90s
Trang 12Hình 2.2: MySQL
2.3.2, Ưu điểm
●Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và
hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rấtmạnh
●Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập
CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấpcao
●Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ
một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp
●Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và
hơn thế nữa nó có thể được mở rộng nếu cần thiết
●Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc
rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi
2.3.3, Nhược điểm
●Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi kèm
với các hạn chế về chức năng mà một vào ứng dụng có thể cần
●Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài
liệu tham khảo, các giao dịch, kiểm toán…) làm cho nó kém tin cậy hơn so với một
số hệ quản trị cơ sở dữ liệu quan hệ khác
Trang 13●Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất
dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp
để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server,
hoặc tạo cache MySQL
●Tham khảo nguồn tài nguyên đa dạng tài liệu khác nhau Mỗi phiên bảnphát hành của Laravel đều kèm theo nguồn tài liệu phù hợp để người dùng tiện tracứu
●Tích hợp với dịch vụ mail dựa trên nền tảng đám mây hoặc local nhờ APIsạch trên thư viện SwiftMailer
●Tốc độ xử lý nhanh, đáp ứng nhu cầu tạo lập website hay các dự án lớntrong thời gian ngắn
Trang 14●Dễ sử dụng nhờ tuân theo mẫu thiết kế mô hình 3 lớp MVC dễ hiểu.
●Tính bảo mật cao
●Hỗ trợ các cache backend như Memcached và Redis out-of-the-box
●Công cụ tích hợp cho dòng lệnh – Artisan
●Tạo liên kết đến các route được đặt tên
●Giảm đáng kể chu kỳ phát triển sản phẩm vì Laravel giúp tích hợp nhanhhơn cùng sự hỗ trợ của cộng đồng Laracasts
2.4.3, Nhược điểm
●Không có sự liên kết giữa các phiên bản Ứng dụng có thể bị đình trệ,ngừng hoạt động hoặc phá vỡ nếu người dùng cố cập nhật code
●Làm chậm tốc độ tải trang vì Laravel quá nặng cho ứng dụng di động
●Không hỗ trợ tính năng thanh toán
Trang 15Chương 3: Quá trình3.1 Phân tích thiết kế
3.1.1 Đánh giá hệ thống hiện tại
Ưu điểm:
- Nhà tuyển dụng có thể trực tiếp nạp tiền mua xu, thay đổi thông tin cũng như xác thực công ty
- Quản lý CV tiện lợi, dễ dùng
- Sàng lọc thông tin kĩ trước khi đăng Hạn chế tối đa tin rác, sớm kết nối được nhà tuyển dụng uy tín
Nhược điểm:
- Hệ thống mới chỉ phân cấp giữa Nhà tuyển dụng - Ứng viên
- Chưa có hệ thống lớn để quản lý những Nhà tuyển dụng
3.1.2 Đề xuất hệ thống mới
- Xây dựng module tài khoản doanh nghiệp trên business
+ Ưu điểm:
- Giúp quản trị các nhà tuyển dụng
- Thêm chức năng chuyển xu – hoàn xu kiểm soát số lượng tin đăng, sử dụng dịch vụ của nhân viên
- Kiểm soát độ hiệu quả tin của nhân viên
3.1.3 Các chức năng dự kiến
1 Quản lý nhân viên
2 Thêm nhân viên
2 Sửa nhân viên
2 Chuyển xu
3 Thu hồi xu
Trang 164 Mở - Khóa nhân viên
5 Xem chi tiết hoạt động (tin đăng, lịch sử giao dịch)
6 Báo cáo doanh nghiệp
3.2, Đặc tả yêu cầu
Hình 3.1: Bảng đặc tả yêu cầu
Trang 173.3, Lên kế hoạch
Hình 3.2: Bảng kế hoạch triển khai
3.4, Thiết kế giao diện
3.4.1 Giao diện tài khoản nhân viên
Hình 3.3: Mockup quản lý nhân viên
Trang 183.4.1 Giao diện thêm mới tài khoản
Hình 3.4: Mockup thêm mới nhân viên
3.4.3, Giao diện sửa nhân viên
Hình 3.5: Mockup sửa nhân viên
3.4.4, Giao diện chi tiết hoạt động
Trang 19Hình 3.6: Mockup chi tiết hoạt động
3.4.5, Giao diện chuyển tiền
Hình 3.7: Mockup chuyển tiền
3.4.6, Giao diện thu hồi xu
Trang 20Hình 3.8: Mockup thu hồi
3.6.7, Giao diện mở - khóa tài khoản.
Hình 3.9: Mockup mở-khóa tài khoản
3.6.8, Giao diện báo cáo tổng hợp
Trang 21Hình 3.10: Mockup báo cáo tổng hợp
3.5, Thực hiện lập trình
Hình 3.11: Ảnh lập trình
Trang 223.6, Kiểm thử
Hình 3.12:Ảnh kiểm thử
3.7, Hoàn thiện sản phẩm
3.7.1, Trang quản lý tài khoản
Hình 16, Giao diện quản lý tài khoản hoàn thiện
3.7.2, Trang thêm mới nhân viên
Trang 23Hình 17, Giao diện thêm mới nhân viên hoàn thiện
3.7.3, Trang sửa nhân viên
Hình 18, Giao diện sửa nhân viên hoàn thiện
3.7.4, Trang chi tiết hoạt động của nhân viên
Trang 24Hình 19, Giao diện chi tiết hoạt động (danh sách tin) hoàn thiện
Hình 20, Giao diện chi tiết hoạt động (lịch sử giao dịch) hoàn thiện
3.7.5, Chuyển tiền
Trang 25Hình 21, Giao diện chuyển tiền hoàn thiện
3.7.6, Thu hồi tiền
Hình 22, Giao diện thu hồi tiền hoàn thiện
3.7.7, Trang báo cáo tổng hợp
Trang 26Hình 23, Giao diện báo cáo hoàn thiện
Trang 27Chương 4: KẾT LUẬN TRONG QUÁ TRÌNH THỰC TẬP4.1 Những gì đạt được trong quá trình thực tập
Tuy thực tập trong công ty trong thời gian ngắn nhưng em đã cố gắng cải thiện
và đúc kết được những sự thay đổi bản thân sau đây
- Được trải nghiệm và tiếp cận trực tiếp công nghệ hiện tại đang phát triển
- Rèn luyện được tư duy phân tích nghiệp vụ về sản phẩm của công ty hiệntại và tương lai
- Học hỏi kỹ năng làm việc nhóm để nâng cao hiệu quả, chất lượng côngviệc
- Rèn luyện được kỹ năng lập trình
- Học hỏi được kỹ năng triển khai dự án cũng như lên kế hoạch bản thân làm việc
- Đáp ứng đúng yêu cầu công việc được giao
- Khiến bản thân trở nên năng động và chủ động nắm bắt công việc
- Không ngại bổ sung với những điều mới mẻ về công nghệ
Bên cạnh đó còn tồn đọng những khó khăn trong việc lúc mới đầu tiếp xúc là
do kinh nghiệm còn hạn chế khi mới thực tập
Trang 28Khi thực hiện thực tập, em đã hiểu và làm việc trải qua từng công đoạn trongquá trình tạo ra một tính năng cho website gồm: phân tích thiết kế, đặc tả sản phẩm,lên kế hoạch, thiết kế giao diện, lập trình, kiểm thử,… Trải nghiệm mới thấy rằng
để tạo sản phẩm là vô cùng phức tạp
Cùng với kiến thức đã học tại nhà trường, em đã thực hiện tốt đợt thực tập tạicông ty Cổ phần VNP Group – dự án 123job Qua đợt thực tập này, em đã họcđược thêm nhiều kiến thức và kinh nghiệm bổ ích trong lập trình để sau này khi ratrường em sẽ vận dụng những kiến thức mình đã học để đưa vào thực tế Em xincảm ơn sự hướng dẫn của các thầy cô trên lớp và sự giúp đỡ của các anh chị trongcông ty đã giúp em hoàn thành tốt đợt thực tập này
Trang 29TÀI LIỆU THAM KHẢO
https://wiki.matbao.net/laravel-la-gi-huong-dan-cai-dat-laravel-nhanh-chong/https://topdev.vn/blog/ngon-ngu-lap-trinh-php-la-gi-tat-tan-tat-nhung-dieu-ban-can-biet-ve-php/
https://vi.wikipedia.org/wiki/MySQL
Trang 30Ý KIẾN ĐÁNH GIÁ CỦA CÁN BỘ HƯỚNG DẪN
Hà Nội, ngày tháng năm 2020
CÁN BỘ HƯỚNG DẪN
(Ký tên, ghi rõ họ tên)
Điểm
Trang 31Ý KIẾN ĐÁNH GIÁ CỦA GIẢNG VIÊN HƯỚNG DẪN
Hà Nội, ngày tháng năm 2020
GIÁO VIÊN HƯỚNG DẪN
(Ký tên, ghi rõ họ tên)
Điểm