Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được website sử dụng Reac
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
LẬP TRÌNH WEB VỚI REACTJS
Công ty thực tập: Công ty TNHH Phần mềm FPT Hồ Chí Minh
Thực tập sinh: Huỳnh Việt Tiến – MSSV: 15520877
TP Hồ Chí Minh, tháng 06 năm 2022
Trang 2LỜI MỞ ĐẦU
Ngày nay, ngành công nghiệp phát triển ứng dụng và công nghệ web là một bộ phận không thể thiếu của ngành công nghiệp phần mềm Với tốc độ phát triển vô cùng mạnh mẽ, ngành phát triển web đã và đang là nhân tố kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và phần mềm
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ Ngành công nghiệp phát triển web của Việt Nam đã và đang phát triển mạnh mẽ, đã có thể cạnh tranh với những công ty hàng đầu về phát triển web trên thế giới Bên cạnh sự phát triển của ngành công nghiệp web cũng kéo theo sự phát triển của một số ngành nghề khác thúc đẩy sự phát triển của
nó dễ nhận thấy như các trang web mạng xã hội, hay những trang web thương mại điện tử, những trang web live stream trực tuyến,…
Sau khoảng thời gian học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như muốn được tham gia xây dựng web trong một môi trường chuyên nghiệp, em có dự định là sẽ thực tập sau hè Vì vậy, em quyết định chọn Công ty TNHH Phần mềm FPT Hồ Chí Minh - một môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty TNHH Phần mềm FPT Hồ Chí Minh đã 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 nhóm trainer, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được website sử dụng ReactJS Các kiến thức để quản lý source code, testing và các tổ chức source code, cùng với đó là được trau dồi các kỹ năng mềm và được học tiếng anh giao tiếp Chân thành cảm ơn các anh chị trong nhóm trainer, admin đã bỏ ra nhiều thời gian, công sức để hướng dẫn và hỗ trợ chúng em hoàn thành đợt thực tập này
Đặc biệt cảm ơn anh Võ Đức Anh, đã chấp nhận cho em thực tập tại công ty Cảm ơn anh Nguyễn Đình Lương đã dạy em những kiến thức về lập trình web Cảm ơn anh Mã Hoàng Nhật Phi đã dạy em những kiến thức về sử dụng công cụ quản lý source code, library ReactJS, kiến thức về testing và chỉ ra các thiếu sót của bản thân em,…Và cám ơn các anh/chị admin, các anh/chị mentor khác và các bạn trong team đã giúp đỡ em trong quá trình thực tập tại FPT Software Hồ Chí Minh
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
Huỳnh Việt Tiến
TP Hồ Chí Minh, ngày 10/06/2022
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC
MỤC LỤC 5
Chương 1: Giới thiệu công ty thực tập 6
1 Giới thiệu về công ty FPT Software 6
2 Sản phẩm của công ty 7
Chương 2: Nội dung thực tập 8
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 8
2 Nghiên cứu kỹ thuật 8
3 Thực hiện project 11
4 Lịch làm việc 11
Chương 3: Chi tiết về project 13
1 Giới thiệu về Project 13
2 Thực hiện 14
3 Kết quả 15
TÀI LIỆU THAM KHẢO 16
TỔNG KẾT 17
Trang 6Chương 1: Giới thiệu công ty thực tập
1 Giới thiệu công ty FPT Software
Được thành lập từ năm 1999, tiền thân thuộc Tập đoàn FPT, FPT Software đã trở thành một trong những công ty gia công phần mềm lớn nhất Việt Nam với danh thu năm 2020 là $513.6 million Có hơn 56 văn phòng ở 26 quốc gia, với thị trường chính ở Nhật Bản, Hoa Kỳ, Châu Âu, Châu Á Thái Bình Dương, Việt Nam cùng hơn
18000 lao động FPT Software phục vụ 700 khách hàng lớn, trong đó có 83 khách hàng lọt vào danh sách Fortune 500 FPT Software hiện đã đạt được những thành tích rất ấn tượng khi nằm trong Top 100 nhà cung cấp dịch vụ phần mềm toàn cầu và được đánh giá là một trong 2 nơi làm việc tốt nhất Việt Nam trong lĩnh vực CNTT
Với tham vọng trở thành công ty được hướng dẫn bởi những đổi mới công nghệ, cam kết đem lại sự hài lòng cao nhất cho khách hàng, góp phần vào sự phát triển thịnh vượng của quốc gia và cung cấp cho nhân viên môi trường làm việc thuận lợi nhất, FPT Software đã tạo nên sự khác biệt cho mình nhờ 5 yếu tố:
• Chất lượng dịch vụ đạt chuẩn thế giới
• Đáp ứng được nhu cầu khắt khe của các công ty hàng đầu
• Luôn đi đầu về công nghệ
• Nguồn nhân lực chuyên nghiệp
• Giá thành cạnh tranh
Nhờ vậy, FPT Software đã vinh dự nhận được các chứng chỉ thế giới về chất lượng và bảo mật như: CMMI 5 và ISO 27001: 2005, ISO 9001, ISO 20000 Tính
Trang 7đến nay, công ty đã phục vụ cho hơn 400 khách hàng trên toàn thế giới, với các thị trường chính ở: Nhật Bản, Hoa Kỳ, Châu Âu, Việt Nam Hay hợp tác với những khách hàng là những nhà công nghệ hàng đầu thế giới như: Hitachi, Neopost, IBM, Continental, Fujitsu, NTT, Canon, Panasonic, Toshiba, Sony, …
Từ khi thành lập đến nay, FPT Software luôn theo đuổi một sứ mạng: cung cấp các dịch vụ từ nguồn lực tài năng của Việt Nam với chất lượng tốt nhất, cam kết đem lại sự hài lòng cao nhất cho khách hàng… đã giúp FPT Software trở thành công ty phần mềm phát triển nhanh nhất và đã có sự hiện diện rộng rãi trên nhiều thị trường toàn cầu khác nhau
2 Sản phẩm của công ty
Với bề dày gần 26 năm trong việc tạo dựng và phát triển các mô hình kinh doanh quy mô lớn trong lĩnh vực phần mềm, FPT Software cung cấp các dịch vụ đạt tiêu chuẩn quốc tế ở các mảng:
• Dịch vụ phần mềm truyền thống (Application Services, Business Application Services, Legacy Migration, Testing & BPO);
• Dịch vụ Digital Age services (Cloud, Mobility, Analytics & Internet of Things)
• Dịch vụ Product Engineering bao gồm Embedded System, CAD/CAM và IC Design
Trang 8Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập web với ReactJS” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về lập trình giao diện web sử dụng ReactJS, đồng thời rèn luyện những
kỹ năng mềm như làm việc nhóm, thuyết trình, giao tiếp Tại công ty, sinh viên có cơ hội được học tập, khám phá và làm việc trong một môi trường phát triển web 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 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triên (như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của công ty
Ngoài ra, thực tập sinh còn được giới thiệu về 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 FPT Software, 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
2.1 Các công cụ làm việc
Thời gian : 4 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, anh Phi đã 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 Một số phần mềm trong số đó như Git - sử dụng trong làm việc nhóm, Notepad ++ - một chương trình soạn thảo văn bản rất hữu ích và phổ biến với lập trình viên Các extension cần thiết trên Visual Studio Code để
hỗ trợ quá trình làm việc dễ dàng hơn
Ngoài ra còn tìm hiểu về các phần mềm quản lí:
Trang 9+ Trello: là một ứng dụng lập danh sách dựa trên web, dùng để quản lý và phân chia công việc cho các thành viên trong team
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 và sử dụng các công cụ miễn phí, giúp dễ dàng kết hợp các công cụ
với nhau
2.2 Tìm hiểu các kiến thức cơ bản của lập trình web
Thời gian : 14 ngày (2 tuần)
Nội dung : Được training về các khái niệm cơ bản của web browser, các xây dựng
một giao diện web với desgin có sẵn
- Training các kiến thức về cách hoạt động của web browser các giao thức HTTP
- Training các kiến HTML, CSS, Javascript để xây dựng giao diện web với desgin
có sẵn
Thực hiện :
- Tham gia các khoá học online và slide do công ty cung cấp
- Tham gia đầy đủ các buổi training của công ty
- Làm các bài thực hành, kiểm tra về kiến thức đã học
2.3 Tìm hiểu library ReactJS
Thời gian : 21 ngày (3 tuần)
Trang 10Nội dung : Được tìm hiểu và training về library ReactJS và các library cần thiết đi
kèm với nó như: react-router-dom, redux,…
- Training về các kiến thức cơ bản của ReactJS như components, state và props Cách tạo component mới trong project và cách sử dụng nó, sự khác biệt giữa
functional component và class component
- Training kiến thức về lifecycle của một class component
- Training kiến thức về cách sử dụng hook với functional component và mapping lifecycle của class component sang functional component bằng cách sử dụng
hook Tự tạo một custome hook mới
- Được học cách sử dụng thư viện react-router-dom áp dụng vảo router vào
ReactJS
- Được học cách sử dụng thư viện redux và các thư viện middleware của nó để
quản lý state trong ứng dụng ReactJS
- Được học cách testing một ReactJS sử dụng jest với react-testing-library
Thực hiện :
- Tham gia các khoá học online và slide do công ty cung cấp
- Tham gia đầy đủ các buổi training của công ty
- Làm các bài thực hành, kiểm tra về kiến thức đã học
- Trao đổi cùng mentor để giải quyết các thắc mắc xuất hiện trong quá trình học và tìm hiểu
Kết quả :
Trang 11- Nâng cao kỹ năng lập trình, hiểu rõ hơn về ReactJS và các library thường được sử dụng chung với nó để đủ khả năng làm việc
- Có được những kiến thức quan trọng cho việc lập trình web với ReactJS sau này
- Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúng chuẩn, dễ đọc, dễ hiểu
3 Thực hiện project
Sau gần hai tháng được training và thực hành, thực tập sinh đã nắm được những kiến thực cơ bản về ReactJS, HTML, CSS,… Trong tháng thứ ba, trainer đã hướng dẫn thực tập sinh áp dụng những kiến thức đã học để thực hiện một project xây dựng website học trực tuyến
Chi tiết đồ án sẽ được nói ở phần sau
4 Lịch làm việc
Tuần Công việc Người hướng dẫn
Mức
độ hoàn thành
Nhận xét của người hướng dẫn
1
- Tìm hiể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ụ làm việc trong công ty
- Sử dụng công cụ Trello để kiểm tra tiến độ công việc
- Học cách trao đổi, làm việc qua email
Chị Nguyễn Thị Thiên Thư Chị Nguyễn Thị Kim Anh
Anh Mã Hoàng
2
- Tìm hiểu các kiến thức cơ bản về lập trình web
- Sử dụng HTML, CSS, JavaScript để xây dựng một giao diện web với desgin cho trước
Anh Nguyễn Đình Lương
3
Trang 125 thức về library
ReactJS
- Training kiến thức
về các library khác thường đi kèm với ReactJS
- Học testing một ứng ReactJS
Nhất Phi
6
7 - Áp dụng những kiến
thực đã được học kết hợp với một team Back-end để xây dựng một website học trực tuyến
Anh Võ Đức Anh Anh Nguyễn Đông Hưng
Chị Võ Trịnh Bối Quyên
8
9
Trang 13Chương 3: Chi tiết về project
1 Giới thiệu về project
Website là một nền tảng học trực tuyến để giáo viên và học viên có thể tương tác với nhau
Giáo viên có thể đăng tải khoá học của mình và học viên có thể mua và học các khoá học đó
Trang 14Do yêu cầu bảo mật thông tin của doanh nghiệp nên em không thể trình bày chi tiết hơn
2 Thực hiện
8 thành viên của team:
- Front-end:
+ Huỳnh Việt Tiến
Trang 15+ Đinh Tấn Tú
+ Huỳnh Trung Nghĩa
+ Lưu Vũ Sơn Duy
+ Phùng Thế Hùng
- Back-end:
+ Trần Như Tuấn Anh
+ Đặng Phú Hưng
+ Đào Gia Hiệp
Và sự giúp đỡ tận tình của team trainer Fsoft
3 Kết quả:
Đã hoàn thành các tính năng tất yếu theo yêu cầu của dự án và đang tiếp tục thực hiện các tính năng khác
Trang 16TÀI LIỆU THAM KHẢO
[1] React – A JavaScript library for building user interfaces (reactjs.org)
[2] Redux - A predictable state container for JavaScript apps | Redux
[3] Cùng một số tài liệu nội bộ của dự án
Trang 17TỔNG KẾT
Như vậy, trong vòng ba tháng, nhóm đã hoàn thành các tính năng của một website học trực tuyến Website đã có khá đầy đủ các tính năng đã đề ra ban đầu Do thời gian có hạn nên chưa thể hoàn thành hết các tính năng của website Website khi có thời gian sẽ có thể hoàn thành hết tính năng và xây dựng thêm nhiều tính năng mới
Chân thành cảm ơn sự giúp đỡ của các anh chị nhóm trainer Fsoft, sự nỗ lực của nhóm
để có thể hoàn thành website này 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