Chỉ trong một khoảng thời gian ngắn, nhờ sự chỉ dẫn nhiệt tình của các anh chị trong team Grove HR, em đã tiếp thu được những kiến thức quan trọng trong quy trình phát triển phần mềm, ph
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 ỨNG DỤNG QUẢN LÝ NHÂN SỰ
- GROVE HR
Công ty thực tập: KMS Technology Người phụ trách: Nguyễn Anh Tuấn Thực tập sinh: Phan Huy Tiến
TP Hồ Chí Minh, tháng 12 năm 2021
Trang 2LỜI MỞ ĐẦU
Ngày nay, sự phát triển nhanh chóng của ngành công nghiệp phần mềm trong thời đại cách mạng công nghiệp 4.0 đang diễn ra mạnh mẽ dẫn đến sự ra đời của rất nhiều phần mềm với nghiệp vụ phức tạp nhằm phục vụ nhu cầu phát triển của xã hội Kỷ nguyên 4.0 phát triển mạnh mẽ, mọi hoạt động của con người đều gắn với các ứng dụng trên chiếc điện thoại thông minh Hiểu về lập trình ứng dụng di động ngày càng cần thiết hơn trong cuộc sống Nó giúp mở ra cơ hội nghề nghiệp đáng mơ ước cho nhiều người
Ngành lập trình ứng dụng di động đang thay đổi hàng năm, nhiều công nghệ mới nổi lên thay thế cái cũ, làm cho quá trình phát triển trở nên hiệu quả, dễ dàng, mạnh mẽ và nhanh chóng hơn Với các công nghệ hiện tại, con người đã có thể viết ra các phần mềm chạy trên nhiều hệ điều hành khác nhau chỉ với một mã nguồn Và các công nghệ này đã đang và sẽ tiếp tục phát triển mạnh mẽ hơn nữa trong tương lai
Học luôn đi đôi với hành, sau ba năm học tập tại trường và tiếp thu được nhiều kiến thức từ cơ bản đến chuyên sâu, em quyết định đi tìm cho mình một môi trường mới để ứng dụng những gì đã học, cũng như học thêm những điều mới thông qua quá trình làm việc và trải nghiệm Và may mắn là em đã được đồng hành cùng công ty KMS Technology, cụ thể hơn là team phát triển sản phẩm GroveHR Nơi đây là một môi trường làm việc thân thiện, cởi mở và giúp em học tập được nhiều điều
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty TNHH KMS Technology Việt Nam đã tạo điều kiện cho em có cơ hội thực tập tại công ty
Chỉ trong một khoảng thời gian ngắn, nhờ sự chỉ dẫn nhiệt tình của các anh chị trong team Grove HR, em đã tiếp thu được những kiến thức quan trọng trong quy trình phát triển phần mềm, phát triển và bảo trì một số tính năng của sản phẩm phần mềm thực tế Đặc biệt gửi lời cảm ơn chân thành đến anh Nguyễn Minh Sơn và anh Nguyễn Anh Tuấn, đã trainning kiến thức về Jira, Git, Agile, React Native, cũng như giúp đỡ, hướng dẫn em trong công việc và làm quen với môi trường mới
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 thực hiện báo cáo này
Phan Huy Tiến Tp.HCM, ngày 18 tháng 12 năm 2021
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC
LỜI MỞ ĐẦU 2
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 7
1.1 Giới thiệu công ty KMS Technology 7
1.2 Sản phẩm của công ty 7
CHƯƠNG 2: NỘI DUNG THỰC TẬP 8
2.1 Tìm hiểu công ty và quy trình làm việc 8
2.2 Nghiên cứu công nghệ và các công cụ cần thiết 8
2.2.1 Các công cụ làm việc 8
2.2.2 Các công nghệ 9
2.3 Tìm hiểu về sản phẩm của công ty 9
2.4 Phát triển và bảo trì các tính năng của sản phẩm 10
2.5 Lịch làm việc 10
CHƯƠNG 3: CÁC CÔNG VIỆC ĐÃ THỰC HIỆN 13
3.1 Giới thiệu về GroveHR 13
3.2 Một số chức năng chính đã thực hiện 13
3.2.1 Phân trang cho Notifications 13
3.2.2 Hỗ trợ sửa đổi các phần liên quan đến Payment 15
3.2.3 Hiển thị modal thông báo mới 15
Trang 63.2.4 Tách section cho một số thông tin trong Profile 17 TỔNG KẾT 18
Trang 7CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1.1 Giới thiệu công ty KMS Technology
KMS Technology được thành lập năm 2009, chuyên tư vấn, cung cấp giải pháp phần mềm, dịch vụ kiểm thử Sau 12 năm hoạt động, đến nay KMS Technology đã khẳng định
vị thế của một công ty hàng đầu trong lĩnh vực này
Đội ngũ nhân viên lên đến hơn 1000 người, làm việc chủ yếu tại các văn phòng ở Việt Nam và Mỹ Công ty chủ yếu phân phối các sản phẩm phần mềm và giải pháp outsoursing, đầu tư vào việc phát triển và đưa các sản phẩm phần mềm ra thị trường quốc tế
1.2 Sản phẩm của công ty
Các sản phần của công chủ yếu là tư vấn, cung cấp giải pháp và gia công phần mềm cho đối tác trong và ngoài nước
Bên cạnh đó, KMS cũng phát hành các phần mềm của riêng mình:
QASymphony: Cung cấp giải pháp kiểm thử phần mềm theo quy trình Agile cho khách hàng thuộc 2.000 tập đoàn lớn nhất thế giới (Global 2.000) như Cisco, IBM, Boeing, Visa, Amazon, Barclays, Adobe, Samsung, Verizon…
Katalon Studio: Giải pháp kiểm thử tự động (test automation) thông minh
Kobiton: Nền tảng đám mây di động (mobile cloud) với chi phí hợp lý và dễ tiếp cận so với dịch vụ tương tự do Amazon, Google, Xamarin và Sauce Labs cung cấp
GroveHR: Nền tảng quản lý nhân sự với nhiều tính năng tích hợp Sản phẩm hướng đến các công ty hiện đại muốn tự động hóa các quy trình và tạo môi trường làm việc tốt nhất để nhân viên phát triển
Trang 8CHƯƠNG 2: NỘI DUNG THỰC TẬP
Quá trình thực tập từ 24/09/2021 đến 24/12/2021 tại KMS Technology tập trung vào 4 mảng nội dung chính:
Tìm hiểu văn hoá công ty, quy trình làm việc và các thông tin liên quan
Nghiên cứu công nghệ, kỹ thuật phục vụ công việc, kỹ năng phát triển bản thân
Tìm hiểu về sản phẩm của công ty
Phát triển và bảo trì các tính năng của sản phẩm
2.1 Tìm hiểu công ty và quy trình làm việc
Thời gian: 1 ngày
Nội dung: Giới thiệu về công ty, nơi làm việc, quy định tại công sở
Đầu tiên, sẽ được dắt đi tham quan công ty và giới thiệu về quá trình thành lập, phát triển công ty Được gặp gỡ các anh, chị quản lý cấp cao trong công ty
Giới thiệu bản thân và làm quen với anh mentor, anh leader, các thành viên khác trong nhóm và cũng làm quen với các anh, chị trong các bộ phận khác để sau này mọi người dễ trao đổi công việc với nhau
Sau đó, thực tập sinh được người phụ trách giới thiệu về văn hóa của công ty bao gồm giờ giấc làm việc, quy định sử dụng các thiết bị chung, quy trình truy cập vào dữ liệu công ty
Kết quả: Hiểu rõ hơn về công ty, từ văn hóa, định hướng đến quy trình làm việc Làm
quen được các thành viên trong nhóm và cả ngoài nhóm
2.2 Nghiên cứu công nghệ và các công cụ cần thiết
2.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ụ có sử dụng trong quá trình làm việc
Thực tập sinh sẽ tìm hiểu qua các công cụ như:
Jira: công cụ quản lý dự án, kiểm soát và theo dõi các vấn đề xảy ra trong
dự án, quản lý các phản hồi từ phía người sử dụng
Trang 9 Git/Github: dịch vụ cung cấp kho lưu trữ mã nguồn
Appcenter: nơi lưu trữ các bản build mobile
Mixpanel: công cụ phân tích mobile dựa trên hành vi người dùng
Thực hiện: đọc tài liệu và được anh mentor giải đáp thắc mắc
Kết quả: Nắm bắt và hiểu rõ hơn các công cụ, sẵn sàng sử dụng trong quá trình
làm việc
2.2.2 Các công nghệ
Thời gian: 1 tuần
Nội dung: Tìm hiểu về các công nghệ được ứng dụng trong phát triển sản phẩm và
setup laptop để chạy thử sản phẩm của công ty
Các công nghệ đó là:
React Native
Typescript
Mobx
Các library, framework khác
Thực hiện: đọc tài liệu các công nghệ, đọc code, và được anh mentor giải đáp Kết quả: Hiểu hơn về React Native, biết thêm về Typescript và Mobx, cũng như
các library khác
2.3 Tìm hiểu về sản phẩm của công ty
Thời gian: 1 tuần
Nội dung: tìm hiểu cơ bản các chức năng hiện có trong sản phẩm của công ty
Quản lý nhân viên
Quản lý ngày nghỉ phép
Tin tức,…
Thực hiện: đọc các tài liệu liên quan, đọc hiểu các mô tả, các yêu cầu về việc thực hiện
chức năng và được anh mentor giải đáp nếu có thắc mắc
Kết quả: nắm được mô tả các chức năng, nắm được vị trí các đoạn code liên quan, hiểu
được cơ bản các chức năng đã tìm hiểu
Trang 102.4 Phát triển và bảo trì các tính năng của sản phẩm
Thời gian: 9 tuần
Nội dung: ứng dụng các kiến thức đã học và tham gia phát triển, bảo trì các tính năng của
phần mềm quản lý nhân sự
Thực hiện các chức năng và vá các lỗi liên quan đến Directory, News, Profile, Notification, Payment Nội dung chi tiết được giới thiệu ở phần sau
Thực hiện: Được phân chia công việc theo từng sprint và tiến hành code sau khi đọc và
làm rõ các yêu cầu
Kết quả: Các tính năng, các bản vá lỗi đều được hoàn thành và đưa lên sản phẩm release
2.5 Lịch làm việc
Tuần Công việc Người hướng dẫn Mức độ
hoàn thành
1 Tìm hiểu về công ty, văn hóa
tại công ty các quy định khi làm việc
Gặp gỡ các anh chị làm việc
chung nhóm
Tìm hiểu các công cụ sử dụng
khi làm việc như Jira, Git,
Appcenter, Mixpanel
Chị Nguyễn Huỳnh Thanh Thanh
Chị Hồ Thị Kim Quý
Anh Nguyễn Minh Sơn
100%
2 Tìm hiểu về React Native,
Typescript, Mobx
Tìm hiểu các thư viện khác có
sử dụng như moment, moment-timezone,…
Anh Nguyễn Minh Sơn
Chị Võ Thị Kiều Trinh
100%
Trang 11 Setup laptop để có thể build
sản phẩm trên cả hai hệ điều hành Android và iOS
3 Tìm hiểu các mô tả, các yêu
cầu chức năng
Tìm hiểu source code: kiến
trúc, convention, các đoạn code quan trọng
Anh Nguyễn Minh Sơn
Chị Võ Thị Kiều Trinh
100%
4 Thực hiện ẩn/hiện banner khi
thỏa mãn một số yêu cầu
Thực hiện filter cho chức năng
review
Anh Nguyễn Minh Sơn
Chị Võ Thị Kiều Trinh
100%
5 Thêm loading cho một vài
màn hình
Sửa một số lỗi cho nhóm chức
năng Directory
Anh Nguyễn Minh Sơn
Anh Nguyễn Anh Tuấn
Chị Võ Thị Kiều Trinh
100%
6 Refactor code
Sửa các lỗi xảy ra ở các
module News, Directory sau khi các thư viện trong source code được cập nhật lên phiên bản mới nhất phù hợp
Anh Nguyễn Anh Tuấn
Chị Võ Thị Kiều Trinh
100%
7 Refactor code
Sửa các lỗi xảy ra ở các
module News, Directory sau khi các thư viện trong source code được cập nhật lên phiên bản mới nhất phù hợp
Anh Nguyễn Anh Tuấn
Chị Võ Thị Kiều Trinh
100%
Trang 128 Sửa lỗi trạng thái Time off
không hiển thị đúng
Sửa lỗi trạng thái nhân viên
không hiện đúng
Sửa lỗi liên quan chức năng
bình luận tin tức
Anh Nguyễn Anh Tuấn
Chị Võ Thị Kiều Trinh
100%
9 Sửa lỗi ở nhóm chức năng
Directory, News, Notification
Phân trang cho Notifications
Anh Nguyễn Anh Tuấn
Chị Võ Thị Kiều Trinh
100%
10 Thêm một trường thuộc tính
cho dto tạo nhân viên
Sửa loading ở một số màn
hình
Sửa lỗi ở Notifications
Anh Nguyễn Anh Tuấn
Chị Võ Thị Kiều Trinh
100%
11 Tạo và cho hiển thị một modal
thông báo mới khi người dùng thỏa mãn một số yêu cầu
Sửa các lỗi liên quan đến công
việc trên
Hiển thị các icon được react
theo đúng yêu cầu
Anh Nguyễn Anh Tuấn
Chị Võ Thị Kiều Trinh
100%
12 Đổi tên một số trường, tách
section ở Profile
Hỗ trợ sửa đổi các phần liên
quan đến Payment
Anh Nguyễn Anh Tuấn
Chị Võ Thị Kiều Trinh
100%
Trang 13CHƯƠNG 3: CÁC CÔNG VIỆC ĐÃ THỰC HIỆN
3.1 Giới thiệu về GroveHR
Grove HR là nền tảng quản lý nhân sự với nhiều tính năng tích hợp Sản phẩm hướng đến các công ty hiện đại muốn tự động hóa các quy trình và tạo môi trường làm việc tốt nhất để nhân viên phát triển
3.2 Một số chức năng chính đã thực hiện
3.2.1 Phân trang cho Notifications
Thay vì load tất cả thông báo như hiện tại, thì sử dụng API mới viết dưới Backend để thực hiện load phân trang các thông báo nhằm cải thiện tốc độ load
dữ liệu của ứng dụng, giúp tăng trải nghiệm người dùng
Thêm loading icon cho những nơi cần thiết
Trang 153.2.2 Hỗ trợ sửa đổi các phần liên quan đến Payment
Tìm hiểu về Mixpanel và cách sử dụng để tạo track event
Sửa đổi một số thông tin khi tạo track event để phù hợp với nhu cầu hiện tại
Thực hiện thay đổi một số quy định trong ứng dụng dựa theo các gói sản phẩm mới được bán cho người dùng
3.2.3 Hiển thị modal thông báo mới
Tạo một modal thông báo mới về Timezone theo thiết kế
Hiển thị modal khi người dùng thỏa mãn một số điều kiện
Trang 173.2.4 Tách section cho một số thông tin trong Profile
Sửa màn hình lại theo thiết kế mới
Sử dụng API mới để hiện thị các trường thông tin mới cần thêm vào
Trang 18TỔNG KẾT
Như vậy, sau gần ba tháng thực tập tại KMS Technology, em đã học được rất nhiều kiến thức về chuyên môn, quy trình và cách hoạt động của dự án thực tế đồng thời nâng cao kỹ năng lập trình của bản thân Bên cạnh đó, các kỹ năng hỗ trợ trong công việc như viết mail, trao đổi, thảo luận và làm việc nhóm cũng được cải thiện nhờ môi trường làm việc thực tế và chuyên nghiệp Trong suốt quá trình thực tập, những kiến thức đã học tại trường đã hỗ trợ rất nhiều trong công việc Nắm vững kiến thức nền tảng giúp em nắm bắt nhanh các công nghệ, kỹ thuật sử dụng trong project
Chỉ trong khoảng thời gian tương đối ngắn, em đã tích lũy khối lượng lớn kiến thức, hiện thực các tính năng mới, cải thiện các tính năng đã có của sản phẩm được tin tưởng và
sử dụng bởi nhiều công ty, doanh nghiệp, tập đoàn lớn trên thế giới Việc phát triển một sản phẩm được sử dụng nhiều trên toàn thế giới giúp em tiếp cận với hướng suy nghĩ, cách giải quyết vấn đề hoàn toàn mới, từ đó tích luỹ kinh nghiệm cho bản thân