Tải bản đầy đủ (.pdf) (15 trang)

Báo cáo thực tập lập trình ứng dụng di động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (337.19 KB, 15 trang )

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 DI ĐỘNG

Cơng ty thực tập:

Công ty Cổ phần Dịch vụ Di động Trực tuyến (M_Service)

Người phụ trách:

Nguyễn Hoàng Tuấn - ITC - App Dev - Mobile App Team

Leader
Thực tập sinh :

Dương Công Vũ – ITC – App Dev – Junior Mobile Developer

(19521110)

TP. Hồ Chí Minh, tháng 06 năm 2022


4

LỜI MỞ ĐẦU
Với sự phát triển của công nghệ, các thiết bị di động ngày càng được phát triển mạnh mẽ
và có những chức năng hỗ trợ cuộc sống của con người tốt hơn. Với tốc độ phát triển của các thiết
bị di động, tốc độ phát triển của ngành lập trình ứng dụng di động cũng tăng trưởng nhanh chóng.


Việt Nam nằm trong top đầu các nước có độ phủ Internet rộng nhất, điện thoại thông minh
đang dần trở thành một phần quan trọng không thể thiếu trong cuộc sống hằng ngày. Ngày càng
nhiều ứng dụng công nghệ được phát triển trên các nền tảng di động. Kèm theo đó là các cơng ty
cơng nghệ lớn, đa quốc gia đang tập trung vào mảng phát triển ứng dụng di động như: MoMo,
VNPay, Grab, Gojek,…
Từ lâu, trong quá trình học tập tại trường, em đã định hướng bản thân trở thành một lập
trình viên Ứng dụng di động chuyên nghiệp nên em đã tìm tịi về các cơng nghệ di động, các ngôn
ngữ và đăng ký các môn chuyên ngành lập trình ứng dụng di động.
Sau quá trình tự học và làm đồ án, em cảm thấy bản thân đã sẵn sàng để xin thực tập để có
thể học hỏi, tiếp thu nhiều kiến thức hơn trong ngành này. Do đó em đã đăng ký mơn thực tập và
bắt đầu tìm kiếm cơng việc. Rất may mắn cho em đã đậu được vào Công ty Cổ phần Dịch vụ Di
động Trực tuyến hay còn biết tới với tên khác là Ví điện tử MoMo.

Nguyễn Hồng Tuấn

Dương Cơng Vũ - 19521110


5

LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty Cổ phần Dịch vụ Trục tuyến (M_Service) đã 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 manager, em đã tiếp thu
được những kiến thức quan trọng để có thể làm được một ứng dụng di động hoàn thiện. Chân
thành cảm ơn các anh chị trong team đã bỏ ra nhiều thời gian, cơng sức để hướng dẫn em hồn
thành đợt thực tập này.
Đặc biệt cảm ơn anh Nguyễn Hoàng Tuấn, đã training React Native, 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 chị Tưởng Thị Khánh Vy, đã hướng dẫn em quy trình phát triển và kiểm thử

phần mềm; cảm ơn anh Nguyễn Việt Anh, đã chỉ dẫn em về cách làm báo cáo, lên kế hoạch,
những kỹ năng không thể thiếu; cảm ơn các anh Nguyễn Hữu Lực, anh Hồ Nguyễn Hải Nam, đã
training cho chúng em những kiến thức quan trọng về kiến thức lập trình.
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.
Dương Công Vũ
TP.HCM, tháng 6, 2022

Nguyễn Hồng Tuấn

Dương Cơng Vũ - 19521110


6

NHẬN XÉT CỦA KHOA
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................

........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................

Nguyễn Hồng Tuấn

Dương Cơng Vũ - 19521110


7

Nguyễn Hồng Tuấn

Dương Cơng Vũ - 19521110


8

Chương 1: Giới thiêu công ty thực tập

1. Giới thiệu công ty Cổ phần Dịch vụ Trực tuyến (M_Service)
Công ty Cổ phần dịch vụ Di Động Trực Tuyến (viết tắt M_Service) hoạt động
chính trong lĩnh vực thanh tốn trên di động (mobile payment) dưới thương hiệu
MoMo. Công ty đã được Ngân hàng Nhà nước Việt Nam cấp phép cung cấp dịch
vụ Ví điện tử và dịch vụ chuyển tiền, thu hộ/chi hộ…
2. Sản phẩm của công ty
MoMo là ứng dụng Ví điện tử trên điện thoại thơng minh đã có mặt trên 2 hệ điều
hành iOS và Android với hơn 23 triệu người tin dùng. Là nền tảng thanh toán di
động, Ví MoMo thúc đẩy nền kinh tế khơng tiền mặt và cung cấp cho khách hàng

trải nghiệm thanh toán một chạm (One Touch Payment) với hơn hàng trăm tiện ích
dịch vụ, bao gồm Chuyển tiền, Thanh tốn hóa đơn, Mua vé máy bay, Mua vé xe lửa,
Vé xem phim, Thu-Chi hộ và Thương mại trên di động.
Ví MoMo hiện đã liên kết trực tiếp với hơn 25 ngân hàng. Người dùng Ví MoMo
có thể thanh tốn mọi tiện ích hàng ngày như Điện/Nước/Internet/Truyền hình cáp;
Mua vé Máy bay/vé xe/vé tàu hỏa; Thanh toán taxi Vinasun; Mua vé xem phim tất
cả rạp; Đặt dịch vụ giúp việc; Mua hoa tươi…; Đóng vay trả góp của tất cả các cơng
ty tài chính hoặc sử dụng MoMo để thanh tốn tại các điểm chấp nhận thanh toán
MoMo như Gongcha, The Coffee House, Al Fresco’s, Món Huế, Hồng Yến,
Co.opMart, Circle K, Ministop,…

Nguyễn Hồng Tuấn

Dương Công Vũ - 19521110


9

Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình ứng dụng di độ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 di động trên cả 2 hệ điều hành Android và iOS
thông qua các sản phẩm của ví điện tử MoMo, đồ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 ứng dụng chun 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, q 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 .

Ngồ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 M_Service và sản phẩm Ví MoMo, q 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. Giới thiệu, làm quen với các thành viên trong nhóm dự án
Thời gian : 1 ngày
Nội dung : Giới thiệu về Cell Team MAC, do anh Nguyễn Hoàng Tuấn làm leader. Giới
thiệu về các thành viên trong team, các sản phẩm và dự án team đang triển khai.
Kết quả : Làm quen được các thành viên trong team và hiểu được về các sản phẩm, dự án
team đang làm.
3. Nghiên cứu kỹ thuật
3.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.
Sinh viên được giới thiệu tới các cơng cụ sử dụng trong quy trình làm việc của MoMo
như:
-

Jira để quản lý cơng việc theo mơ hình Agile – Scrum

Nguyễn Hồng Tuấn

Dương Cơng Vũ - 19521110


10


-

Trang HRM là trang để quản lý và thực hiện các thao tác liên quan tới người lao
động

-

Google Chat để sử dụng giao tiếp trong quá trình làm việc

-

Mail Mservice để liên lạc giữa các team, thành viên,…

Thực hiện : Thực hành tìm hiểu về quy tình và sử dụng các công cụ trên
Kết quả : Hiểu được về quy trình làm việc và các cơng cụ dùng trong quy trình
3.2.

Tìm hiểu ngơn ngữ Javascript và React Native
Thời gian: 7 ngày
Nội dung: Tìm hiểu về các khái niệm, kỹ thuật lậpt trình Javascript, React Native:
-

Các cú pháp, câu lệnh cơ bản của Javascript

-

Typescript

-


Làm quen với lập trình cross platform với React Native

-

Xây dựng ứng dụng React Native cơ bản

Thực hiện: Tham gia các buổi training và thực hiện các bài test, mock project nhỏ của
trainer đưa ra
Kết quả: Nắm được các khái niệm cơ bản, và cách thức lập trình bằng Javascript và
React Native
3.3.

Tìm hiểu về MoMo Platform và Mini App
Thời gian: 7 ngày
Nội dung: Tìm hiểu về Momo platform và cơ chế super app – mini app. Các sản phẩm
có trên MoMo. Cách thức lập trình một Mini App. Cách thức giao tiếp giữa client –
server.
Thực hiện: Tham gia các buổi training và mock project do trainer đề ra
Kết quả: Cơ bản nắm được các khái niệm trong app MoMo, các cơng cụ để phát triển
Mini App và có thể xây dựng một Mini App cơ bản.

3.4.

Tìm hiểu các cơng cụ build Mini App
Thời gian: 7 ngày
Nội dung: Tìm hiểu các công cụ về build Mini app như:
-

Build Machine: Máy build chịu trách nhiệm build một mini app và đưa lên CDN


Nguyễn Hồng Tuấn

Dương Cơng Vũ - 19521110


11

-

Web admin: Trang web quản lý các mini app và chức năng để sẵn sàng rollout lên
MoMo

-

Momo miniapp CLI: CLI sử dụng trong quá trình lập trình mini app cho MoMo

-

Mini app Center: Trang web để quản lý các mini app do đối tác bên ngoài yêu cầu
phát triển trên Momo Platform

Thực hiện: Tham gia các buổi training và thực hiện các ứng dụng demo do trainer đề
ra
Kết quả: Nắm được quy trình, các cơng cụ để lập trình các mini app trên MoMo
3.5.

Tìm hiểu về ReactJS và Mini App Center
Thời gian: 7 ngày
Nội dung: Tìm hiểu về chức năng, nhiệm vụ của Mini App Center và cách thức xây
dựng ứng dụng web bằng ReactJs.

Thực hiện: Tham gia các buổi training và thực hiện các bài tập do trainer đề ra
Kết quả: Nắm được cơ bản về các thành phần, module của Mini App Center và kiến
thức lập trình web bằng library ReactJs

4. Thực hiện project
Sau một 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ề Javascript, React Native,…. Từ tuần thứ 5, sinh viên được bắt đầu thực hiện các
task theo từng Sprint của team. Tham gia vào nhiều project khác nhau cũng như giữ nhiều
vai trò khác nhau.
5. Lịch làm việc
Tuần

Cơng việc
-

Người hướng dẫn

Mức độ

Nhận xét của

hồn

người hướng

thành

dẫn

Tìm hiểu về cơng Anh Nguyễn Hồng

ty, cách tổ chức của Tuấn

1

cơng ty.
-

Làm quen với các
cơng cụ làm việc
trong cơng ty.

Nguyễn Hồng Tuấn

Dương Công Vũ - 19521110


12

-

Học cách trao đổi,
làm việc qua email.

1–2

Tìm hiểu ngơn ngữ Anh Nguyễn Việt
Javascript và React Anh
Native framework

-


Tìm hiểu về MoMo Anh Nguyễn Hữu
platform và các mini Lực

3–4

app
-

Tìm hiểu về các
cơng cụ Build mini
app

- Phát triển các tính Anh Nguyễn Hồng
năng trên Mini App Tuấn
4 -5

Center
- Xây dựng ứng dụng
Mini App in-house

Từ tuần 5

Thực hiện các task theo Anh Nguyễn Hoàng
sprint của team

Nguyễn Hồng Tuấn

Tuấn


Dương Cơng Vũ - 19521110


13

Chương 3: Chi tiết các project đã tham gia
1.1.

Phiếu cơm MoMo

Giới thiệu: Mini app phiếu cơm MoMo là dự án được khởi xướng bởi anh Nguyễn Hoàng
Tuấn, leader Cell Team MAC. Mini app này giúp nhân viên MoMo có thể trao đổi, mua
bán phiếu cơm với nhau. Cơng ty có cung cấp dịch vụ căn tin cho nhân viên và cung cấp
suất ăn trưa, nhân viên cần đăng ký từ đầu tháng để có thể có suất ăn trưa, thế nhưng trong
một số trường hợp nhân viên có nhu cầu ăn ngồi hoặc đem theo thức ăn thì cần phải tìm
người khác để bán hoặc bỏ khơng phiếu cơm. Hành động này vơ tình chiếm nhiều thời
gian của nhân viên. Nhận thấy sự cần thiết của một nền tảng trao đổi các phiếu cơm giữa
các nhân viên để tránh lãng phí, team đã đề xuất thực hiện mini app Phiếu cơm MoMo và
đã được chấp thuận. Mini app có chức năng đăng bán phiếu cơm của nhân viên MoMo.
Phiếu cơm được liệt kê trên ứng dụng và cho phép người có nhu cầu mua và thực hiện
thanh tốn qua ví MoMo.
Vai trò: App Dev, Backend Dev
Nhiệm vụ:
-

Xây dựng giao diện ứng dụng

-

Xây dựng server backend để tương tác với ứng dụng


-

Thực hiện các HTTP request tới các server của HRM để kiểm tra tính chính xác của
phiếu cơm

-

Tích hợp thanh tốn vào mini app để người mua có thể thực hiện thanh tốn bằng
ví MoMo

Kết quả thực hiện: Hồn thiện và triển khai thành công mini app Phiếu cơm MoMo để
nhân viên công ty sử dụng trên ứng dụng MoMo. Ứng dụng nhận được sự quan tâm của
nhân viên công ty. Lưu lượng truy cập hằng ngày lớn và phần nào tiết kiệm thời gian của
nhân viên công ty.
1.2.

Mini App Center

Giới thiệu: Mini App Center () là một trang web cho phép
các lập trình viên từ các đối tác của ví MoMo đăng ký và phát triển các mini app trên
MoMo. MAC cung cấp các bộ công cụ như tạo Mini App, build, rollout request,… Giúp
các nhà phát triển dễ dàng triển khai các mini app một cách nhanh nhất. Mini App Center
Nguyễn Hồng Tuấn

Dương Cơng Vũ - 19521110


14


cũng được xem như một web admin external, nơi các PO, QC của MoMo quản lý, kiếm
thử và go live các mini app cho đối tác.

Vai trò: Frontend developer
Nhiệm vụ:
-

Thực hiện các task theo sprint từ request của PO hoặc Manager.

-

Thực hiện module Notice giúp thông báo các thay đổi, changelog tới đối tác

-

Thực hiện module Build Machine Management giúp quản lý, phân phối các máy
build

-

Thực hiện module Analytics giúp hiển thị các thông số, các chỉ số liên quan tới mini
app lên Dashboard

-

Chỉnh sửa, fix các bug còn tồn động để cải thiện tốc độ, hiệu năng của trang web

Kết quả thực hiện: Hoàn thành các task dựa theo request và document.
1.3.


Mini App Build Machine

Giới thiệu: Build Machine là một máy build có nhiệm vụ build các mini app từ source
code của đối tác. Sau khi đối tác hoàn thành việc phát triển và debug trên môi trường test,
đối tác gửi yêu cầu build lên MAC và yêu cầu được đẩy vào các Build Machine để thực
hiện build và upload lên CDN chờ rollout request.
Vai trò: Software developer
Nhiệm vụ:

Nguyễn Hồng Tuấn

Dương Cơng Vũ - 19521110


15

-

Chỉnh sửa, cập nhật các tính năng hiện có giúp Build Machine hoạt động ổn định
hơn

-

Phát triển Build Machine thành Package và Public package ra để các team có thể
triển khai máy build một cách độc lập

Kết quả thực hiện: Hoàn thành và cập nhật Build Machine theo yêu cầu của PO và
Manager. Triển khai thành công Build Machine thành một module có thể chạy ở nhiều mơi
trường khác nhau.
1.4.


Mini App Build Server

Giới thiệu: Khi một build request được gửi lên MAC, Build Server sẽ chịu trách nhiệm
thu thập các thông tin cần thiết và gửi yêu cầu tới máy build đang ready.
Vai trò: Software developer
Nhiệm vụ:
-

Chỉnh sửa, cập nhật các tính năng hiện có giúp Build Server hoạt động ổn định hơn

-

Phát triển các tính năng Reset server, Build request queue, build machine
management,…

Kết quả thực hiện: Hoàn thành các yêu cầu của PO và Manager, giúp Build Server hoạt
động ổn định hơn và đẩy nhanh tốc độ xử lý yêu cầu build
1.5.

Momo Mini App CLI

Giới thiệu: Là một giao diện dòng lệnh (Command Line) để các nhà phát triển ứng dụng
sử dụng trong quá trình phát triển mini app
Vai trị: Software developer
Nhiệm vụ:
-

Chỉnh sửa, cập nhật các tính năng hiện có giúp CLI hoạt động ổn định hơn


-

Phát triển tính năng Select environment giúp người dùng chọn mơi trường chạy dev
tool

-

Phát triển tính năng Select version giúp người dùng chọn phiên bản platform khi
debug.

-

Chỉnh sửa các câu lệnh, cập nhật thay đổi khi platform có thay đổi.

Kết quả thực hiện: Hồn thành các tính năng mới do PO và Manager yêu cầu, public CLI
các phiên bản từ 0.76 – 0.79. Cập nhật các changelog lên document của MAC
Nguyễn Hoàng Tuấn

Dương Công Vũ - 19521110


16

Nguyễn Hồng Tuấn

Dương Cơng Vũ - 19521110


17


TỔNG KẾT
Như vậy, chỉ trong vòng vài tháng ngắn ngủi, em đã được tham gia vào nhiều project khác
nhau của MoMo dưới các vai trị khác nhau. Hồn thành các task và yêu cầu do cấp trên đề ra.
Hoàn thành 2 tháng thử việc và trở thành nhân viên chính thức của MoMo.
Chân thành cảm ơn các anh, chị trong cell team MAC đã hỗ trợ em hoàn thành kỳ thực
tập, cũng như giúp đỡ em rất nhiều trong đời sống.

Nguyễn Hồng Tuấn

Dương Cơng Vũ - 19521110



×