Đặc biệt cảm ơn chị Nguyễn Thị Thiên Thư đã hướng dẫn, giúp đỡ cho em tận tình cả 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 Phan Min
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
WEBSITE QUẢN LÝ TÀI LIỆU
Công ty thực tập: Công ty TNHH Phần mềm FPT
Người phụ trách: Phan Minh Phụng Thực tập sinh: Trần Hoàng Kha
TP Hồ Chí Minh, tháng 12 năm 2021
Trang 2LỜI MỞ ĐẦU
Ngày nay, ngành công nghiệp phát triển phần mềm trên thiết bị động 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 lập trình trên thiết bị di động đã 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 website non trẻ Việt Nam đã và đang phát triển mạnh mẽ, để hòa nhập với những công ty hàng đầu về phát triển ứng dụng web trên thế giới
Ngành lập trình website được sinh ra từ nhu cầu phát triển nền kinh tế với những thiết bị công nghệ mới nhất Và cũng chính giới trẻ sẽ là nguồn nhân lực quan trọng cho việc phát triển của ngành này sau này Vì lý do này, em quyết định chọn lập trình website front-end làm định hướng cho việc học tập của mình
Sau bốn năm 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 phát triển một ứng dụng di động trong một môi trường chuyên nghiệp, em quyết định là sẽ thực tập trong kỳ này Vì vậy, em quyết định chọn công ty Fsoft - 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 (FPT Software) đã 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 để em có thể tham gia phát triển ứng dụng di động 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 chúng em hoàn thành đợt thực tập này
Đặc biệt cảm ơn chị Nguyễn Thị Thiên Thư đã hướng dẫn, giúp đỡ cho em tận tình cả
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 Phan Minh Phụng đã training ReactJS, hỗ trợ em rất nhiều về các vấn
đề kỹ thuật design pattern và các vấn đề trong quá trình làm, những kỹ năng không thể thiếu trong quá trình thực tập trong thời gian qua
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
TP Hồ Chí Minh, tháng 12 năm 2021
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC
Giới thiệu công ty FPT Software 6
Tìm hiểu công ty và các kỹ năng cơ bản 8
Các công cụ làm việc 8 Tìm hiểu quy trình làm việc và các công cụ công ty 8 Tham gia các khóa học bắt buộc của công ty 9 Thực hiện các business logic cho các UI đã dựng 9
Giới thiệu về Project 10
Thiết kế UI dựa trên design có sẵn 10 Thực hiện các business logic liên quan tới UI 10 Integrate với back-end trong liên quan tới UI 11 Sửa chữa các lỗi phát sinh 11
Trang 61 GIỚI THIỆU CÔNG TY THỰC TẬP
1.1 Giới thiệu công ty FPT Software
FPT Software thành lập năm 1999, là công ty thành viên của FPT, Tập đoàn Công nghệ hàng đầu của Việt Nam Sau 17 năm thành lập FPT Software hiện đang là công ty phần mềm lớn nhất của Việt Nam và đứng trong Top 100 Nhà cung cấp dịch vụ Outsourcing toàn cầu do International Association of Outsourcing Professionals (IAOP) đánh giá
FPT Software theo đuổi mục tiêu gia công phần mềm để đáp ứng cho nhu cầu phát triển CNTT của các hãng phần mềm trong nước, các công ty lớn trong nước và tham vọng hơn
là xuất khẩu phần mềm trên toàn thế giới cho các công ty nước ngoài biết đến tập đoàn FPT, mục đích chính là vươn đến tầm cao mới thông qua công nghệ nhằm nâng cao năng suất lao động
Trang 7Kinh doanh của FPT Sofware xuất phát từ Công nghệ thông tin và Viễn Thông FPT là cốt lõi để đáp ứng cho khách hàng trên 63 tỉnh thành trên toàn lãnh thổ Việt Nam và mở rộng đến khách hàng toàn cầu Từ khi được thành lập cho đến nay, FPT Software đã là công ty phần mềm số 1 tại Việt Nam trong lĩnh vực tích hợp hệ thống, phân phối và bán
lẻ, dịch vụ Công Nghệ Thông tin, xuất khẩu gia công phần mềm, bán lẻ sản phẩm CNTT
Từ 13 lập trình viên với giấc mơ đưa trí tuệ Việt Nam đi khắp năm châu, đội quân FSOFT ở tuổi 18 với hơn 10.000 người, doanh thu hơn 230 triệu USD, tiếp tục biến giấc
mơ biến Việt Nam trở thành điểm sáng về CNTT trên bản đồ thế giới thành hiện thực với mục tiêu đạt 1 tỉ USD doanh số năm 2020 và 30.000 người
Sau 17 năm phát triển thị trường toàn cầu, đến nay FPT Software đã có 23 văn phòng tại
14 quốc gia bao gồm Việt Nam, Nhật Bản, Singapore, Mỹ, Pháp, Đức, Slovakia, Malaysia, Úc, Trung Quốc, Hàn Quốc, Myanmar, Philippines, Thái Lan
1.2 Sản phẩm của công ty
Là công ty chuyên xuất khẩu dịch vụ phần mềm, FPT Software cung cấp các dịch vụ phát triển phần mềm và bảo trì, triển khai ERP, QA, chuyển đổi ứng dụng, hệ thống nhúng, điện toán di động, điện toán đám mây… trong nhiều lĩnh vực như: Tài chính ngân hàng, Viễn thông, Y tế, Chế tạo, Công nghiệp xe hơi, Dịch vụ công… Hiện FPT Software đang tập trung nghiên cứu và phát triển dịch vụ CNTT dựa trên những nền tảng công nghệ mới như IoT, S.M.A.C, cho các lĩnh vực sản xuất máy bay, sản xuất ô tô, ngân hàng, truyền hình vệ tinh, viễn thông trên phạm vi toàn cầu Công ty hiện đã và đang cung cấp dịch vụ cho khoảng 450 khách hàng là các tập đoàn lớn trên thế giới, trong đó
có 43 khách hàng nằm trong danh sách Fortune Global 500
Trang 82 NỘI DUNG THỰC TẬP
2.1 Tìm hiểu công ty và các kỹ năng cơ bản.
- 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 Fsoft, 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.2 Nghiên cứu kỹ thuật
2.2.1 Các công cụ làm việc
- 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 Một số phần mềm trong số đó như Tortoise SVN - sử dụng trong làm việc nhóm, Visual Studio Code - 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
- Thực hiện: Thực hành sử dụng các phần mềm đã nêu trên.
- Kết quả: Lập trình 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, so với việc dụng các IDE
2.2.2 Tìm hiểu quy trình làm việc và các công cụ công ty
- Nội dung: Được training về các công cụ quản lý công ty cung cấp Các công cụ
này bao gồm:
● Công cụ quản lý thông tin cá nhân của nhân viên
● Công cụ quản lý cơ sở vật chất
Trang 9● Công cụ tra cứu nội quy công ty
● Công cụ tra cứu cơ cấu tổ chức và liên hệ giữa các bộ phận công ty
● Công cụ tra cứu & khai báo thông tin pháp lý
● Cùng các công cụ khác
- Thực hiện: Tham gia đầy đủ các buổi training của công ty.
- Kết quả: Có được những kiến thức quan trọng cho quá trình làm việc trong công
ty Ngoài ra còn được biết thêm một số quy tắc riêng trong phòng ban làm việc
2.2.3 Tham gia các khóa học bắt buộc của công ty
- Nội dung: Học các kiến thức cơ bản về quy định công ty và quy định pháp luật đối
với một kỹ sư phần mềm
● Khái niệm cơ bản về project công ty
● Các quy định áp dụng chung trong công ty
● Khái niệm về bảo mật thông tin dự án và thông tin riêng của công ty
● Các hình thức pháp lý đối với từng trường hợp vi phạm nội quy công ty
- Thực hiện:
● Tham gia đầy đủ các buổi trainning
● Làm các bài tập kiểm tra kiến thức đã training
● Tìm kiếm tài liệu trên các công cụ công ty để tìm hiểu thêm
- Kết quả:
● Hiểu được những khái niệm cơ bản trong lập trình website front-end
ReactJS
● Đã dựng UI được từ các thiết kế có sẵn (đơn giản)
2.2.4 Thực hiện các business logic cho các UI đã dựng
- Nội dung: Tùy vào UI nào sẽ có tương ứng business logic đó
● Cách thực hiện các business logic như thế nào
● Cách tối ưu khi thực hiện
- Thực hiện:
● Thực hiện các bussiness theo UI tương ứng
● Làm các bài kiểm tra thực tế (business logic có áp dụng cho thực tế chứ không chỉ áp dụng trên tầm nhìn của developer)
Trang 102.3 Thực hiện Project
- Sau 1 tháng được training và thực hành, thực tập sinh đã có thể nắm được các kiến thức cơ bản về lập trình Website Front-end ReactJS
- Trong tháng thứ 2 thì trainer đã hướng dẫn thêm các áp dụng thức tế bằng cách cho thực tập sinh thực hiện một User Story như thực tế từ đó có thể review bổ sung và chỉnh sửa cho thực tập sinh hoàn thiện hơn và kết quả là thực tập sinh đã có thể tự mình thực hiện các task thực tế
3 CHI TIẾT VỀ PROJECT
3.1 Giới thiệu về Project
Project có tiêu đề là Quản lý tài liệu trong đó có các chức năng chính như là upload file, quản lý những document đã up lên, có thể download document từ website về, …
3.2 Thực hiện
3.2.1 Thiết kế UI dựa trên design có sẵn
Dựa vào Design từ Figma có sẵn của Trainer, em có nhiệm vụ phải thiết kế và thực hiện
UI đúng với kích thước, chuẩn từng pixel của design, ngoài ra cũng có thể co dãn tùy
thuộc vào kích thước của browers và đặc biệt không được phép thay đổi design trừ khi
có yêu cầu từ trainer.
3.2.2 Thực hiện các business logic liên quan tới UI
Sau khi đã hoàn thiện UI thì tiếp tục tới việc thực hiện business logic liên quan tới UI vừa được thiết kế Ví dụ như các business logic liên quan tới việc đăng nhập, chuyển trang (router), các action như click, onChange, onFocus,
Trang 113.2.3 Integrate với back-end trong liên quan tới UI
Sau khi đã thực hiện các business logic phía trên (trước đó có mock data - nghĩa là fake data - để có thể hiện thị UI cho trainer review đánh giá) sẽ bắt đầu integrate với back-end thông qua API do trainer cung cấp để thay thế cho fake data trước đó
3.2.4 Sửa chữa các lỗi phát sinh
Dựa vào review đánh giá của trainer thì bổ sung những thực hiện cần thiết, ngoài ra trong quá trình làm có những vấn đề thực tế cũng phải tự tìm hiểu để giải quyết
Ngoài ra vì là làm việc nhóm nên việc merge (gộp) code vào nhau nên dễ xảy ra các lỗi từ
đó phải họp nhóm để xử lý các lỗi đã phát sinh
4 TÀI LIỆU THAM KHẢO
For ReactJS:
- ReactJS main docs:https://reactjs.org/
- ReactJS router:https://v5.reactrouter.com
For CSS Library:
- Ant Design:https://ant.design/
Trang 12TỔNG KẾT
Như vậy, chỉ trong vòng một tháng ngắn ngủi, em đã kịp hoàn thành khóa training và tham gia một dự án thực tế Qua đó em đã biết được cách thức làm việc của một dự án phần mềm thực tế, hiểu được quy trình làm việc, các kỹ năng về kỹ thuật và kỹ năng mềm cần thiết để làm việc chung Học hỏi được khá nhiều kinh nghiệm thực tế và các kiến thức mới chưa được học Góp phần nâng cao năng lược bản thân
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 các anh chị tron dự án 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