Với tốc độ phát triển vô cùng mạnh mẽ, ngành phát triển các ứng dụng chạy trên nền tảng web đang trở thành một trong những mũi nhọn chủ lực của lĩnh vực công nghệ thông tin.. Chỉ trong m
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
PHP WEB DEVELOPER
Công ty thực tập : Bravesoft Việt Nam Người phụ trách : Nguyễn Duy Quang Thực tập sinh : Lê Minh Hiếu
TP Hồ Chí Minh, tháng 7 năm 2020
Trang 2LỜI MỞ ĐẦU
Ngày nay, với tốc độ internet hóa và việc tự tạo kênh truyền thông riêng cho việc kinh doanh cá nhân đang tỏ ra chiếm ưu thế Với tốc độ phát triển vô cùng mạnh mẽ, ngành phát triển các ứng dụng chạy trên nền tảng web đang trở thành một trong những mũi nhọn chủ lực của lĩnh vực công nghệ thông tin
Cùng với xu thế phát triển của thế giới, Việt Nam nổi lên như một trong những nước có nguồn nhân lực công nghệ thông tin nói chung và phát triển web nói riêng với chất lượng cao và giá cả nhân công cạnh tranh Chính vì lẽ đó Việt Nam xem là một môi trường outsourcing lý tưởng cho các nước tìm đến, đặc biệt là Nhật Bản Nhận thấy xu hướng thị trường Việt Nam đang phát triển mạnh và cơ hội nghề nghiệp rộng mở, ngay từ năm 2 môi trường đại học em đã
tự trang bị cho mình những kiến thức cơ bản về lập trình web căn bản cũng như lượng kiến thức
đủ để có thể tự mình xây dựng một trang web đơn giản Sau một thời gian tư tìm hiểu, em hiểu rằng chỉ học không thôi là chưa đủ, cần phải thực hành nhiều hơn, áp dụng kiến thức vào các kiến trúc hệ thống của các dự án lớn hơn Chính vì lẽ đó, vào hè khoảng tháng 7/2019 em đã quyết định xin thực tập về mảng web developer để trau dồi thêm kiến thức Sau một thời gian ứng tuyển, em đã được công ty cổ phần Bravesoft Việt Nam nhận vào thực tập với vị trí PHP developer Sở dĩ e chọn Bravesoft là nơi thực tập của mình vì e thấy đây là một công ty với quy
mô hơn 60 nhân viên thuộc nhiều lĩnh vực khác nhau như Android developer, IOS developer, Web developer, Ruby developer… Với một môi trường như thế, em tin chắc rằng mình sẽ học hỏi được nhiều thứ ở môi trường này
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty Bravesoft Việt Nam đã tạo điều kiện cho em có cơ hội được thực tập tại công ty
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của trainer và các anh chị trong công ty, một thực tập sinh như em đã tiếp thu được những kiến thức quan trọng để có thể nắm được những kiến thức cơ bản về của một trang web, xây dựng một page của trang web và ứng dụng được ngôn ngữ PHP – laravel framework Em xin chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian, công sức để hướng dẫn em hoàn thành đợt thực tập này
Đặc biệt cảm ơn anh Nguyễn Duy Quang, đã training cho em những kiến thức cơ bản về
PHP – Laravel framework Anh đã hướng dẫn, giúp đỡ em tận tình từ những lúc em gặp phải những kiến thức mới lạ, những khó khăn trong công việc, đến những khó khăn việc làm quen
với môi trường mới; Cảm ơn anh Nguyễn Vũ Minh Trí đã dẫn dắt em trong các dự án tại công
ty, giúp em hiểu rõ hơn cách làm việc nhóm trong một dự án có nhiều thành viên, cách phân
tích yêu cầu từ khách hàng Cảm ơn chị Nguyễn Thị Đông cũng như tập thể team HR đã hướng
dẫn em sử dụng tốt các công cụ hỗ trợ làm việc, phổ biến các quy tắc, quy định của công ty
Đặc biệt em xin gửi lời cảm ơn sâu sắc đến Trương Minh Vũ – người đã tạo điều kiện em được
tiếp cận với công ty và chấp nhận hy sinh một phần thời gian quý báu công ty để training lại cho những thực tập sinh như em Nhờ các hoạt động ngoại khóa của công ty đã giúp em hòa nhập nhanh hơn vào môi trường làm việc của công ty mình
Sau cùng em cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện em làm bài báo cáo này
Lê Minh Hiếu
<TpHCM, ngày tháng năm>
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
Mục lục
Chương 1: Giới thiêu công ty thực tập 6
1 Giới thiệu công ty 6
2 Sản phẩm của công ty 6
Chương 2: Nội dung thực tập 7
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 7
2 Nghiên cứu kỹ thuật 7
2.1 Tìm hiểu Laravel Framework 8
2.2 Tìm hiểu Vuejs 8
3 Chi tiết về dự án 11
1.1 Giới thiệu chung: 11
3.2 Chức năng chính: 11
3.3 Công nghệ sử dụng: 12
3.4 Một số hình ảnh: 12
Chương 3: TỔNG KẾT 16
Trang 6Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty
- Bravesoft Việt Nam là một công ty outsourcing chủ yếu làm việc với các khách
hàng đến từ Nhật Bản Công ty được thành lập từ năm 2013 dựa trên công ty mẹ là Bravesoft Japanse được đặt trụ sở tại Nhật Bản Trải qua 7 năm thành lập và phát triển, có thể nói công ty cũng đã dần khẳng định được mình trên thị trường Nhật Bản, có các đối tác chiến lược lâu dài Hiện tại quy mô công ty có khoảng hơn 60 developer thuộc nhiều lĩnh vực như back-end developer, web developer, Android developer, IOS developer, Tester, Comter Các dự án của công ty tập trung vào thị trường Nhật, một số được giới thiệu và quản lý từ công ty mẹ Bravesoft Japanse.
2 Sản phẩm của công ty
- Sản phẩm của công ty bravesoft Việt Nam tập trung vào 2 mảng chính là các loại trang web từ quản lý đến web thương mại và các ứng dụng chạy trên điện thoại thông minh
Về các lĩnh vực mà ứng dụng hướng tới rất đa dạng, các ứng dụng dạng startup, bán dịch
vụ cho người dùng là phổ biến hơn cả Một số ứng dụng được phát triển gần đây có thể
kể đến như ứng dụng dạy học trực tuyến, mạng xã hội trao đổi công việc cho doanh nghiệp, ứng dụng hẹn hò… Ngoài thị trường Nhật Bản, công ty cũng có nhận một số dự
án ở Việt Nam Ứng dụng gần nhất xây dựng cho thị trường Việt Nam là App Green point Ứng dụng mua bán rau sạch với nguồn gốc rõ ràng
Trang 7-
Chương 2: Nội dung thực tập
Đợt thực tập lần này với mục tiêu tìm hiểu cặn kẽ hơn về lập trình web với ngôn ngữ PHP và framework laravel, làm quen với cấu trúc thư mục cũng như cách tổ chức template của một dự án thực tế Thông qua dự án, em đã được rèn luyện từ những kĩ năng mềm như kĩ năng làm việc nhóm, đặt câu hỏi làm rõ yêu cầu, cách giải thích, trình bày vấn đề… Tiếp điến lànhững kĩ năng cứng như cách tổ chức cấu trúc file của một dự án thực tế, coding style cho dự
án, thiết kế - điều chỉnh cơ sở dữ liệu cho phù hợp với yêu cầu thực tế Thông qua các dự án được tham gia, em cảm thấy mình đã học hỏi được rất nhiều từ các anh chị trong nhóm phát triển, được có cơ hội khám phá và trải nghiệm làm việc trong một môi trường phát triển một dự
án web thực tế và chuyên nghiệp
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian: 1 buổi
Nội dung: Giới thiệu về công ty, cách tổ chức của công ty, làm quen với các công cụ hỗ
trợ cho công việc
Được tham gia buổi Open meeting giới thiệu thành viên mới của công ty Tại đây
em sẽ phải tự giới thiệu bản thân với các thành viên trong công ty
Được giám đốc giới thiệu tổng quan về công ty, giới thiệu về quản lý dự án sắp tới
em sẽ tham gia, giới thiệu và làm quen với mentor chính của em trong suốt quá trình thực
tập tại công ty là anh Nguyễn Duy Quang
Tiếp theo, em được bộ phận HR hướng dẫn và cung cấp các công cụ cần thiết cho quá trình làm việc Bộ phận HR phổ biến về nguyên tắc làm việc, quá trình thảo luận công việc và làm việc tại công ty cách thức làm việc trong công ty như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công việc…
Kết quả: Hiểu thêm về công ty Gameloft, quá trình thành lập và phát triển Có thêm các
kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn
2 Nghiên cứu kỹ thuật
a Các công cụ làm việc
Thời gian: 1 ngày
Nội dung: Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc
Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các công
cụ sẽ giúp ích cho trong công việc sau này Có thể kể đến một số công cụ tiêu biểu như sau:
Trang 8- PHP Storm: Đây là một IDE khá mạnh hỗ trợ trong lập trình PHP với các chức năng hỗ trợ kết nối CSDL cũng như terminal…
- Backlog: Đây là một công cụ giúp các project manager quản lý các task, phân chia công việc cho các thành viên
Thực hiện: Thực hành sử dụng các phần mềm đã nêu trên
Kết quả: Hiểu được các thao tác cơ bản của từng công cụ, có khả năng sử dụng các
phím tắt để tăng hiệu suất làm việc
2.1 Tìm hiểu Laravel Framework
Thời gian: 1 ngày
Nội dung:
- Cách sử dụng Laravel Framework để xây dựng 1 trang web
- Hiểu được kiến trúc MVC của laravel
- Cách framework laravel quản lý các Routing
- Các Relationship database trong Laravel
Thực hiện:
- Truy cập trang documentation của Laravel để tìm hiểu dưới sự hướng dẫn của supervisor (https://laravel.com/)
Kết quả:
- Biết được cách sử dụng Laravel Framework để áp dụng vào sản phẩm sắp tới của công ty
2.2 Tìm hiểu Vuejs
Thời gian: 5 ngày
Nội dung:
- Cú pháp cơ bản của vuejs
- Cấu trúc một component của Vuejs
- Lifecycle Vuejs
Thực hiện:
- Truy cập trang documentation của Vuejs để tìm hiểu dưới sự hướng dẫn của supervisor (https://vuejs.org/)
Kết quả:
- Nắm được cú pháp cơ bản của vuejs, cách kết hợp giữa vuejs và laravel để có thể
áp dụng cho dự án mới của công ty
Trang 93 Thực hiện project
Sau một thời gian tìm hiểu công nghệ, supervisor nhận thấy em đã có kiến thức nền cơ bản, có thể tham gia các task nhỏ của dự án Ngay trong tuần thứ ba của thời gian thực tập trainer đã cho phép em tham gia vào một dự án mới của công ty
Chi tiết dự án và các công việc em được tham gia phát triển sẽ được trình bày cụ thể ở các phần sau
4 Lịch làm việc
Mức
độ hoàn thành
Nhận xét của người hướng dẫn
1
- Tìm hiểu về laravel
và cách ứng dụng
- Tìm hiểu về vuejs
- Tìm hiểu cách thức làm việc nhóm và trao đổi thông qua chatwork
Anh Nguyễn Duy Quang
10/10 Hoàn thành tốt công
việc
2
- Đọc hiểu document của dự án, nắm bắt tổng quan dự án
- Đọc hiểu cơ sở dữ liệu và các table liên quan
- Nắm bắt code base
3
Giai đoạn dev:
- Setup và run source
- Xậy dựng welcome page bằng vuejs
- Responsive cho welcone page
4
- Xây dựng UI cho màn hình setting hashtags, password,
… cho admin
- Làm quen với
Trang 10Single page trong vuejs
5
Giai đoạn dev:
- Xây dựng api cho các trang đã xây dựng UI
- Thực hiện các task theo yêu cầu của mentor
6
Giai đoạn dev:
- Xây dựng chức năng lập lịch gửi push đến cho các nhân viên
- Làm việc với S3 Amazone Xuất file pdf
7
Giai đoạn test:
- Làm việc với tester giải quyết các bug còn tồn đọng
- Phát triển một số tính năng phát sinh
8
Giai đoạn Beta và giai đoạn kết thúc, báo cáo:
- Fix các bug còn tồn đọng
- Test, fix bug và deploy
Trang 113 Chi tiết về dự án
1.1 Giới thiệu chung:
- Website quản lý thông tin các nhân viên của công ty
- Mỗi công ty khi đăng kí sử dụng dịch vụ sẽ được cung cấp một tài
khoản admin quản lý các thông tin liên quan của nhân viên mình
- Các nhân viên có thể tặng điểm cho nhau Đặt câu hỏi trong quá
trình làm việc
- Nhân viên khi tham gia đóng góp cho các nhân viên khác sẽ được tặng điểm Số điểm này có thể được quy đổi thành tiền thưởng cho
từng nhân viên
- Admin của công ty có thể thay đổi các thông số về điểm thưởng,
cách thức tính điểm…
3.2 Chức năng chính:
- Admin:
o Chart thống kê về số lượng nhân viên, số điểm, số bài post
o Thực hiện tạo mới, quản lý danh sách các thông báo đến nhân viên
o Quản lý các thông tin nhân viên
o Xác định – thay đổi phương thức thanh toán
o Một số cài đặt chung khác
- Super admin:
o Chart thống kê về số lượng nhân viên, số điểm, số bài post
o Thực hiện tạo mới, quản lý danh sách các thông báo đến nhân viên
o Quản lý các thông tin nhân viên
o Quản lý thông tin các công ty đã đăng kí dịch vụ
Trang 12o Một số cài đặt chung khác
3.3 Công nghệ sử dụng:
- Backend: PHP – Laravel Framework
- Frontend: VueJs
- Dịch vụ bên thứ 3: Stripe, S3 amazon
3.4 Một số hình ảnh:
- Màn hình đăng nhập
- màn hình chính
Trang 13- Màn hình setting hashtags
- Popup thông báo lỗi chung
Trang 14- màn hình quản lý danh sách các nhân viên
- File pdf point report tự động phát sinh hằng tháng
Trang 15- Màn hình danh sách reports của từng công ty
Trang 16TỔNG KẾT
Như vậy, chỉ trong vòng khoảng 2 tháng, nhóm đã kịp hoàn thành một trang web admin với đầy đủ các nghiệp vụ khách hàng yêu cầu Thông qua dự án em đã có cơ hội tiếp xúc được nhiều công nghệ mới, kết hợp được những kiến thức đã được giảng dạy trên ghế nhà trường vào thực tiễn Bên cạnh đó là sự thú vị mà một dự án thực tế đem lại như làm việc với tester, đối ứng kịp thời những thay đổi của khách hàng, khả năng teamwork với các thành viên khác trong team cũng là một thành tựu lớn mà em nghĩ mình đã đạt được thông qua dự án này
Chân thành cảm ơn sự giúp đỡ của các anh chị nhóm trainer Bravesoft Việt Nam, sự nỗ lực của nhóm Beast Knight để có thể hoàn thành game này Cảm ơn thầy/cô khoa công nghệ phần mềm đã giúp em hoàn thành bài báo cáo này
Trang 17TÀI LIỆU THAM KHẢO
Laravel Documentation:
https://laravel.com/docs/7.x
Stackoverflow:
https://stackoverflow.com/
Vuejs:
https://vuejs.org/