TRƯỜ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
LỜ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 q 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.
2
LỜ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
3
NHẬN XÉT CỦA KHOA
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
4
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
5
3.2.4. Tách section cho một số thông tin trong Profile ............................................. 17
TỔNG KẾT ....................................................................................................................... 18
6
CHƯƠ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à ngồ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.
7
CHƯƠ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 hố 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ề q 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ả ngồ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 q 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 số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.
8
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 q 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.
9
2.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
1
Tìm hiểu về cơng ty, văn hóa
Người hướng dẫn
Chị Nguyễn Huỳnh
tại cơng ty các quy định khi
Mức độ
hoàn thành
100%
Thanh Thanh
Chị Hồ Thị Kim Quý
làm việc.
Gặp gỡ các anh chị làm việc
Anh Nguyễn Minh Sơn
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.
2
Tìm hiểu về React Native,
Anh Nguyễn Minh Sơn
Chị Võ Thị Kiều Trinh
Typescript, Mobx.
Tìm hiểu các thư viện khác có
sử dụng như moment,
moment-timezone,…
10
100%
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
Anh Nguyễn Minh Sơn
100%
Chị Võ Thị Kiều Trinh
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.
4
Thực hiện ẩn/hiện banner khi
Anh Nguyễn Minh Sơn
thỏa mãn một số yêu cầu.
Chị Võ Thị Kiều Trinh
100%
Thực hiện filter cho chức năng
review.
5
Thêm loading cho một vài
Anh Nguyễn Minh Sơn
100%
Anh Nguyễn Anh Tuấn
màn hình.
Sửa một số lỗi cho nhóm chức
Chị Võ Thị Kiều Trinh
năng Directory.
6
Refactor code.
Anh Nguyễn Anh Tuấn
Sửa các lỗi xảy ra ở các
Chị Võ Thị Kiều Trinh
100%
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.
7
Refactor code.
Anh Nguyễn Anh Tuấn
Sửa các lỗi xảy ra ở các
Chị Võ Thị Kiều Trinh
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.
11
100%
8
Sửa lỗi trạng thái Time off
Anh Nguyễn Anh Tuấn
100%
Chị Võ Thị Kiều Trinh
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.
9
Sửa lỗi ở nhóm chức năng
Anh Nguyễn Anh Tuấn
100%
Chị Võ Thị Kiều Trinh
Directory, News, Notification.
Phân trang cho Notifications.
10
Thêm một trường thuộc tính
Anh Nguyễn Anh Tuấn
100%
Chị Võ Thị Kiều Trinh
cho dto tạo nhân viên.
Sửa loading ở một số màn
hình.
Sửa lỗi ở Notifications.
11
Tạo và cho hiển thị một modal
Anh Nguyễn Anh Tuấn
thông báo mới khi người dùng
Chị Võ Thị Kiều Trinh
100%
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.
12
Đổi tên một số trường, tách
Anh Nguyễn Anh Tuấn
Chị Võ Thị Kiều Trinh
section ở Profile.
Hỗ trợ sửa đổi các phần liên
quan đến Payment.
12
100%
CHƯƠ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.
13
14
3.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.
15
16
3.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.
17
TỔ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ề chun 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 đồ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 tồn mới, từ đó tích luỹ kinh nghiệm cho bản thân.
18