ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM THỰC TẬP TỐT NGHIỆP LẬP TRÌNH ỨNG DỤNG WEB VỚI REACTJS Công ty thực tập Công ty TNHH Giải pháp Phần mềm Tường[.]
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
THỰC TẬP TỐT NGHIỆP LẬP TRÌNH ỨNG DỤNG WEB VỚI REACTJS
Công ty thực tập: Công ty TNHH Giải pháp Phần mềm
Tường Minh (TMA Solutions)
Lớp: SE501.N11.PMCL
Sinh viên thực hiện: Trần Hoàng Long – 19521801
Trang 2LỜI MỞ ĐẦU
Với sự phát triển nhanh chóng mặt của thị trường phần mềm, Cùng với sự phát triển của thế giới, Việt Nam cũng không ngoại lệ Các xu hướng phát triển web đã và đang phát triển rất mạnh mẽ để hòa nhập với xu hướng toàn cầu Các công nghệ thay đổi theo từng thời kì đòi hỏi các doanh nghiệp và nhà phát triển luôn phải cập nhật, cải tiến các sản phẩm web để mang đến những sản phẩm tốt nhất phù hợp với thị trường
Sau thời gian học tập trên trường, với mục đích trang bị thêm cho mình kinh nghiệm thực tế, cũng như muốn được tham gia trải nghiệm và làm việc trong một môi trường chuyên nghiệp, em đã quyết định tìm kiếm một công ty để thực tập Vì vậy, em quyết định chọn TMA Solutions – 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 kỳ thực tập này
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty TNHH Giải pháp phần mềm Tường Minh(TMA Solutions) đã tạo điều kiện cho em có cơ hội được thực tập tại công ty
Em xin chân thành cảm ơn các anh chị mentor, các thành viên trong team ReactJS cùng tất cả mọi người trong công ty đã hỗ trợ em trong công việc và chia sẻ với em những kinh nghiệm làm việc quý báu Chỉ trong 2 tháng thực tập, nhưng nhờ sự chỉ dẫn tận tình của mentor cùng với tất cả mọi người đã giúp em tiếp thu những kiến thức cần thiết, và nâng cao kỹ năng sẵn có bản thân
Cũng xin cảm ơn các 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
Trần Hoàng Long
Tp Hồ Chí Minh, tháng 12 năm 2022
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
Mục lục
LỜI CẢM ƠN 3
NHẬN XÉT CỦA KHOA 4
Mục lục 5
Chương 1 Giới thiệu công ty thực tập 1
1.1 Giới thiệu công ty 1
1.2 Sản phẩm công ty 2
Chương 2 Nội dung thực tập 4
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 4
2.2 Nghiên cứu kỹ thuật 4
2.3 Tham gia project 6
2.4 Lịch làm việc 6
Chương 3 Chi tiết về project 9
3.1 Giới thiệu project 9
3.2 Thực hiện 9
3.3 Kế hoạch 9
Chương 4 Tổng kết 10
Chương 5 Tài liệu tham khảo 11
Trang 6Chương 1 Giới thiệu công ty thực tập
1.1 Giới thiệu công ty
Tên công ty: Công ty TNHH Giải pháp Phần mềm Tường Minh
Tên thương mại: TMA Solutions
Địa chỉ:
o Head Office (Lab 1): 111 Nguyễn Đình Chính, Phường 15, Phú Nhuận,
TP Hồ Chí Minh
o Office 3 (Lab 3): 10 Đặng Văn Ngữ, Phường 10, Phú Nhuận, TP Hồ Chí Minh
o Office 4 (Lab 4): 84A/5 Trần Hữu Trăng, Phường 10, Phú Nhuận, TP
Hồ Chí Minh
o Office 5 (Lab 5): Anna Building – lot 1 – Central road, Công viên phần mềm Quang Trung, Tân Chánh Hiệp, Quận 12, TP Hồ Chí Minh
o Office 6 (Lab 6): TMA Tower – lot 17 – Road 10, Công viên phần mềm Quang Trung, Tân Chánh Hiệp, Quận 12, TP Hồ Chí Minh
o TMA Inovation Park (Lab 8): Đại lộ Khoa học, Phường Ghềnh Ráng, Quy Nhơn
Website: https://www.tmasolutions.com
Trang 7TMA Solutions được thành lập năm 1997, cung cấp dịch vụ gia công phần mềm chất
lượng cho các công ty hàng đầu trên toàn thế giới TMA tự hào là công ty phần mềm
hàng đầu Việt Nam Với 25 năm phát triển vững mạnh, TMA đã xây dựng được một đội ngũ với hơn 3,800 kỹ sư tài năng, nhiệt huyết luôn nhận được sự đánh giá cao từ phía
khách hàng, cùng chung tay xây dựng hình ảnh TMA - đối tác tin cậy trên bản đồ công
nghệ thông tin toàn cầu TMA hiện có 7 chi nhánh tại Việt Nam (6 tại TP Hồ Chí Minh
và 1 TP Quy Nhơn) cùng với 6 văn phòng ở nước ngoài (Mỹ, Canada, Pháp, Nhật, Úc, Singapore)
1.2 Sản phẩm công ty
Với kinh nghiệm phong phú, TMA mang đến cho khách hàng các giải pháp toàn diện trong nhiều lĩnh vực với việc đồng hành cùng khách hàng từ giai đoạn tư vấn, ý tưởng, phân tích yêu cầu, tới các giai đoạn thiết kế, kiểm thử cho đến khi hoàn thiện sản phẩm
và vận hành hệ thống 24/24
Trang 9Chương 2 Nội dung thực tập
Đợt thực tập kéo dài 2 tháng, 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 ứng dụng web với 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 phần mềm chuyên nghiệp
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Nội dung: Giới thiệu về công ty, cách tổ chức, các quy định và quy trình làm
việc trong công ty
o Tham gia vào các lớp training dành cho New-hire trong suốt khoảng thời gian thực tập
o Được trainer giới thiệu về công ty, quá trình thành lập, phát triển và cách thức tổ chức của công ty
o Ngoài ra, thực tập sinh còn được giới thiệu về cách thức và quy trình làm việc, các quy định cần phải tuân thủ,…
Kết quả: Hiểu thêm về quá trình thành lập, phát triển, cũng như tầm nhìn, và
giá trị cốt lõi của TMA Biết được cách làm việc, hoạt động trong môi trường thực tế ở một công ty phần mềm
2.2 Nghiên cứu kỹ thuật
2.2.1 Tìm hiểu về ReactJS
Nội dung: Tìm hiểu và nắm vững kiến thức căn bản về ReactJS
o Tìm hiểu và nắm rõ React ES6, React JSX, React components
o Tìm hiểu về React Props/State, React Hook
o Tìm hiểu và nắm rõ về State management
o Tìm hiểu Unit tests trong ReactJS
Trang 10o Thực hiện demo ReactJS
Kết quả: Hiểu biết cơ bản về thư viện ReactJS, học hỏi được nhiều kinh
nghiệm trong việc làm việc nhóm Có thêm nhiều kiến thức về lĩnh vực dự án Nhận được phản hồi của các anh chị về mặt kỹ năng và kiến thức
2.2.2 Tìm hiểu về Angular framework
Nội dung: Tìm hiểu và nắm vững kiến thức căn bản về Angular
o Tìm hiểu về các kiến thức cơ bản của Angular, Angular component
o Tìm hiểu về Directives, làm việc với các Directives cơ bản như ngFor, ngIf
o Tìm hiểu kiến thức về Service trong Angular( Angular HTTP Client, - Observable, )
o Tìm hiểu về Reactive Form(FormsModule,ngForm, ngModel,ngSubmit)
o Tìm hiểu về UI framework hỗ trợ Angular như PrimeNG, Angular material
o Tìm hiểu Unit tests và End-to-End tests (cypress test) trong Angular
o Thực hiện demo Angular
Kết quả: Hiểu biết cơ bản về Angular framework, nắm được cách cài đặt và sử
dụng Angular framework trong một dự án Nhận được phản hồi của các anh chị
về mặt kỹ năng và kiến thức
2.2.3 Tìm hiểu về Web responsive
Nội dung: Tìm hiểu và nắm vững kiến thức căn bản về Web responsive
o Tìm hiểu overview Web responsive
o Tìm hiều về các khái niệm Viewport, Media query (@media)
o Tìm hiểu về khái niệm Breakpoints
o Tìm hiểu về Grid System
o Thực hiện demo Web responsive
Trang 11 Kết quả: Hiểu biết cơ bản về Web responsive, nắm được cách sử dụng Web
responsive trong một dự án Nhận được phản hồi của các anh chị về mặt kỹ năng và kiến thức
2.3 Tham gia project
Sau thời gian đượ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ề Front-end ReactJS Sau đó thực tập sinh áp dụng những kiến thức
đã học để thực hiện phát triển project
2.4 Lịch làm việc
người hướng dẫn
1
Tham gia meeting giới
thiệu về công ty dành cho New-hire
Làm quen với các
công cụ và môi trường trong công ty
Ôn tập, tìm hiểu các
kiến thức cơ bản của ReactJS
Tìm hiểu quy trình làm
việc và vai trò của ReactJS trong dự án
Anh Chu Văn Thành
Trang 122
Tham gia lớp training
dành cho New-hire của
công ty
Thực hiện ứng dụng
demo để kiểm tra kiến
thức đã học
Tìm hiểu về State
management (Redux,
Redux Toolkit)
Tìm hiểu về Unit test
Chuẩn bị và trình bày
cho team về State
management và Unit
test
Anh Chu Văn Thành
3
Tham gia lớp training
dành cho New-hire của
công ty
Tìm hiểu các kiến thức
cơ bản của Angular
framework
Thực hiện ứng dụng
demo để kiểm tra kiến
thức đã học
Anh Nguyễn Quang Vinh
4 Tham gia lớp training Anh Chu Văn Thành
Trang 13dành cho New-hire của
công ty
Tìm hiểu về Web
responsive
Thực hiện ứng dụng
demo để kiểm tra kiến
thức đã học
Chuẩn bị và trình bày
cho team về Web
responsive
5
Tham gia lớp training
dành cho New-hire của
công ty
Tham gia vào project
thực tế và được nhận
các task đơn giản
Anh Nguyễn Quang Vinh
Trang 14Chương 3 Chi tiết về project
3.1 Giới thiệu project
Mô tả: Ứng dụng web giúp quản lý User và các Role của User Với Layout có
LeftMenu, cùng với các chức năng cơ bản như table show list User và list Role, thêm/xóa/sửa, sort/paging/search, assign role to a list of user,… đều thông qua call API
3.2 Thực hiện
Thực tập sinh: Trần Hoàng Long
Dưới sự hướng dẫn của mentor Chu Văn Thành
3.3 Kế hoạch
Vì quy định bảo mật của công ty nên các thông tin chi tiết về dự án thực tế không được cung cấp ra bên ngoài
Trang 15Chương 4 Tổng kết
Như vậy, trong hai tháng thực tập, em đã tham gia và thực hiện dự án tại TMA Solutions Thời gian thực tập này đã mang lại cho em nhiều kiến thúc và kinh nghiệm
Dù đây là lần đầu em trải nghiệm việc phát triển phần mềm trong thực tế, kết quả em đạt được đã vượt hơn mong đợi của em rất nhiều Tuy nhiên, em cũng nhận thấy được rằng bản thân còn nhiều thiếu sót cần cải thiện, nếu thêm thời gian nhất định em sẽ thể hiện và làm tốt hơn
Chân thành cảm ơn sự giúp đỡ của các anh chị trong team tại TMA Solutions và anh Chu Văn Thành đã theo dõi và hướng dẫn quá trình thực tập của em, giúp em hoàn thành tốt dự án và cả đợt thực tập này tại TMA Solutions
Trang 16Chương 5 Tài liệu tham khảo
1 TMA Solutions, https://www.tmasolutions.vn/
2 ReactJS, https://ReactJS.org/
3 Angular, https://angular.io/