1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo thực tập phát triển ứng dụng di động

17 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Thực Tập Phát Triển Ứng Dụng Di Động
Tác giả Trần Lê Thanh Tùng
Người hướng dẫn Anh Đạt Huỳnh
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Khoa Công nghệ Phần mềm
Thể loại Báo cáo thực tập
Năm xuất bản 2022
Thành phố Hồ Chí Minh
Định dạng
Số trang 17
Dung lượng 629,22 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Công ty thực tập CÔNG TY TNHH KỸ THUẬT SỐ TYME Người phụ trách ĐẠT HUỲNH Thực tập sinh TRẦN LÊ T[.]

Trang 1

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 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG

Công ty thực tập:

CÔNG TY TNHH KỸ THUẬT SỐ TYME

Người phụ trách:

ĐẠT HUỲNH

Thực tập sinh:

TRẦN LÊ THANH TÙNG

Trang 2

LỜI MỞ ĐẦU

Ngày nay, ngành công nghiệp phần mềm đang có những bước tiến nhanh chóng cùng với những ứng dụng thực tiễn trong cuộc sống Chính nhờ vào sự phát triển đó mà dẫn tới các thiết

bị số như máy tính, điện thoại thông minh đang trở nên vô cùng phổ biến Vì thế mà nhu cầu về phát triển các ứng dụng trên điện thoại thông minh ngày càng gia tăng khiến nó trở thành một mảng không thể thiếu trong bức tranh toàn cảnh của ngành công nghiệp phần mềm

Đối với em, điện thoại di động đã trở thành một người bạn đồng hành không thể thiếu trong cuộc sống hiện đại ngày nay Tuy điện thoại chỉ mang một kích thước nhỏ gọn nhưng lại mang trong mình vô vàn những chức năng hữu ích Có thể nói rằng, điện thoại di động có thể thay thế phần nào những thiết bị khác như đồng hồ, máy ảnh, máy tính cầm tay,… Bản thân em tuy tiếp xúc khá trễ với điện thoại di động nhưng sự đa năng của nó lại làm em hứng thú với việc lập trình các ứng dụng di động, đặc biệt là khi mình có thể tự tay tạo ra các ứng dụng để phục vụ cho bản thân mình và những người khác

Sự phát triển của ngành công nghiệp phần mềm nói chung cũng như lập trình ứng dụng di động nói riêng có tác động to lớn đến hầu hết tất cả các lĩnh vực trong đời sống Ngành kinh tế hiện đại như tài chính – ngân hàng cũng không nằm ngoài xu thế này Các ứng dụng của công nghệ thông tin đã góp phần hỗ trợ cho sự vận hành của các dịch vụ tài chính – ngân hàng Từ đó, các công ty công nghệ tài chính và các ngân hàng số liên tiếp ra đời với một phương thức kinh doanh hoàn toàn mới và Tyme Bank là một trong số đó

Sau ba năm học tập trên trường, em cảm thấy đã đến lúc mình bắt đầu một chặng đường mới để mình có thể học hỏi thêm kinh nghiệm thực tế và phát triển bản thân mình Ngay lúc đó,

em đã tìm thấy Tyme – một môi trường chuyên nghiệp, lý tưởng để có thể giúp em thực hiện điều đó, đồng thời đây cũng là một cơ hội để em thể hiện bản thân mình, mở đầu cho sự nghiệp sau này của em

Trang 3

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn đến quý công ty Tyme đã tạo điều kiện cho em có cơ hội được thực tập và phát triển tại công ty Trong suốt quá trình thực tập em đã học hỏi được rất nhiều điều, từ những kiến thức chuyên môn cho đến những kỹ năng mềm cần thiết trong môi trường làm việc chuyên nghiệp

Đặc biệt em muốn gửi lời cảm ơn chân thành đến mentor của mình là anh Đạt Huỳnh, người đã luôn bên cạnh hướng dẫn, giúp đỡ và cho em những lời khuyên trong quá trình thực tập tại Tyme Bên cạnh đó em cũng muốn gửi lời cảm ơn đến những thành viên của Bamboo team, những anh/chị đã giúp đỡ em rất nhiều từ ngày những đầu em đến công ty Và cũng không thể không kể đến sự hỗ trợ từ bộ phận nhân sự và bộ phận IT tại Tyme, em xin cảm ơn rất nhiều

vì sự hỗ trợ tận tình mà mọi người đã dành cho em cũng như dành cho các bạn thực tập sinh khác tại Tyme Ngoài ra thì, em xin đặc biệt cảm ơn những anh chị trainer, anh Sơn Lê, anh Hà

Hồ, anh Long Huỳnh, chị Thủy Phạm, chị Tuyến Nguyễn đã góp sức vào chương trình thực tập này để tạo ra những buổi training vô cùng hữu ích

Cuối cùng, em xin cảm ơn các thầy cô tại trường Đại học Công nghệ Thông tin cũng như các thầy cô tại khoa Công nghệ Phần mềm đã tận tâm giảng dạy em trong suốt những năm đại học của mình để em có thể tự tin vững bước trên con đường sự nghiệp Em cũng xin cảm ơn các thầy cô vì đã hỗ trợ và tạo điều kiện cho em thực hiện bài báo cáo này Một lần nữa, em xin chân thành cảm ơn

Trần Lê Thanh Tùng

Thành phố Hồ Chí Minh, ngày 10 tháng 12 năm 2022

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

CHƯƠNG 1 GIỚI THIỆU CÔNG TY THỰC TẬP 6

1 Giới thiệu về Tyme 6

2 Sản phẩm của công ty 6

CHƯƠNG 2 NỘI DUNG THỰC TẬP 7

1 Giai đoạn 1: Tìm hiểu, khám phá 7

2 Giai đoạn 2: Quan sát 10

3 Giai đoạn 3: Thực hành 10

4 Giai đoạn 4: Ship IT 11

CHƯƠNG 3 CHI TIẾT VỀ PROJECT 12

1 Send money with QR Code (iOS) 12

TỔNG KẾT 16

Trang 6

CHƯƠNG 1 GIỚI THIỆU CÔNG TY THỰC TẬP

1 Giới thiệu về Tyme

Tyme Group là một trong những tập đoàn ngân hàng kỹ thuật số phát triển nhanh nhất thế giới, xây dựng các ngân hàng “high-tech” và “high-touch” ở các thị trường đang phát triển mới nổi

Có trụ sở chính tại Singapore cùng với Trung tâm Phát triển Sản phẩm & Công nghệ tại Việt Nam, Tyme Group thiết kế, xây dựng và thương mại hóa các ngân hàng kỹ thuật số cho các thị trường mới nổi, với chuyên môn đặc biệt trong việc phục vụ các nhóm dân cư chưa được phục vụ đầy đủ và ít được tiếp cận với ngân hàng

Tyme Group sở hữu nền tảng công nghệ và tài sản trí tuệ trên toàn cầu, đồng thời hợp tác với các ngân hàng trong nước cũng như các đối tác trong lĩnh vực Fintech để cho ra mắt những ngân hàng kỹ thuật số mới

Về phía Tyme Vietnam, đây là một Trung tâm Công nghệ (Technology Hub) của Tyme Group và được thành lập vào năm 2016 Tyme Vietnam tập hợp những người làm về kĩ thuật và sản phẩm có chung sứ mệnh toàn cầu là trở thành serial bank builders, định hướng tương lai của ngân hàng thông qua công nghệ

2 Sản phẩm của công ty

Tyme đã xây dựng và cung cấp các dịch vụ ngân hàng tại hai quốc gia là Nam Phi và Philippines

 TymeBank: có trụ sở tại Nam Phi, hiện là một trong những ngân hàng số phát triển nhanh nhất thế giới với hơn 5 triệu khách hàng kể từ khi ra mắt vào tháng 2 năm 2019

Trang 7

 GoTyme: có trụ sở tại Philippines, là công ty liên doanh giữa Gokongwei Group và Tyme Group

Trang 8

CHƯƠNG 2 NỘI DUNG THỰC TẬP

Chương trình thực tập năm 2022 của Tyme bao gồm nhiều mảng khác nhau, như mảng Mobile (di động), Python (Data, DevOps), Java API (Backend) và Quality Assurance Công ty

tổ chức chương trình thực tập này nhằm muốn tạo ra nơi để các bạn sinh viên có cơ hội được học tập, phát triển cũng như là trải nghiệm đầu tiên tốt đẹp khi làm việc ở trong môi trường làm việc chuyên nghiệp Xuyên suốt quá trình tham gia vào đợt thực tập này, em không những có cơ hội được tiếp xúc với các kiến thức chuyên môn mà còn được phát triển các kỹ năng mềm khác nhằm tạo cho bản thân một bước đà để tiếp tục sự nghiệp của bản thân sau này

Nhìn chung thì quá trình thực tập bao gồm 4 giai đoạn (trong vòng 3 tháng), đối với mảng Mobile mà em đã chọn thì có thêm 2 mảng con nữa là Android và iOS Khi tham gia chương trình thực tập của Tyme, em đã có cơ hội để tiếp xúc với iOS Development, một định hướng mà em đã có hứng thú từ lâu và đây cũng chính là nội dung mà em đã thực tập tại Tyme trong 3 tháng vừa qua

1 Giai đoạn 1: Tìm hiểu, khám phá

Thời gian: tuần 1 – 2.

Nội dung:

 Tham gia những buổi sharing chung về giới thiệu công ty, quá trình phát triển, những quy tắc, quy định về bảo mật, an toàn thông tin, văn hóa, sự kiện, cách làm việc, v.v

 Tham gia những phiên học (online & offline sessions):

o Engineering Culture: Những hành vi, thái độ của một kỹ sư và giá trị cốt

lõi của công ty

o Professionalism in Working: Tác phong chuyên nghiệp khi làm việc tại

công ty, văn hóa ứng xử sao cho chuẩn mực

o Git: Cơ bản về hệ thống quản lý phiên bản phân tán và cách sử dụng.

Trang 9

o Branching Model: Mô hình phân nhánh, có thể hiểu là các quy tắc trong

quản lý source code để mà mọi người cùng làm việc hiệu quả trên một source code dễ dàng và tránh các vấn đề về merge code

o Cyber Security: Khóa học về bảo mật về an ninh mạng, những nguy cơ dẫn

đến bị hack và cách phòng tránh (bởi banking là domain khá nhạy cảm)

o KnowBe4 Security Training: Những vấn đề về bảo mật và hành động cần

lưu ý để tránh gây rò rỉ thông tin

 Tìm hiểu cách sử dụng các công cụ làm việc:

o Confluence: Công cụ quản lý, lưu trữ, chia sẻ tài liệu.

o Jira: Công cụ quản lý công việc.

o BitBucket: Code repository dựa trên Git.

o Hibob: Nền tảng quản lý nhân sự.

o Slack: Công cụ giao tiếp chính tại Tyme.

o Outlook: Nền tảng Email chính tại Tyme.

o Xcode: IDE phát triển ứng dụng nền tảng iOS.

 Tìm hiểu tài liệu, nghiên cứu, thực hành và tham gia những buổi training về chuyên môn theo lộ trình đã được các trainer và mentor của từng mảng xây dựng:

o iOS Development: Phát triển ứng dụng điện thoại trên nền tảng iOS sử

dụng ngôn ngữ Swift và UIKit Framework, đồng thời kết hợp với Reactive Programming thông qua RxSwift

 Swift Foundation: Cơ bản về ngôn ngữ Swift.

 UIKit: UI Framework để phát triển iOS.

 Reactive Programming với RxSwift: Ý tưởng chính là làm cho ứng

dụng có thể phản ứng với thay đổi trong dữ liệu cơ bản mà không cần phải trực tiếp gọi đến nó

 Networking + Alamofire: Tổng quan về kết nối mạng trong phát

triển iOS và thư viện Alamofire

Trang 10

 Multi-threading: Xử lý đa luồng trong iOS.

 Local Storage: Xử lý lưu trữ dữ liệu cục bộ.

 Unit Testing: Cách thực hiện các unit test trong phát triển ứng dụng

iOS

o MVVM-C Pattern: Mẫu thiết kế phát triển ứng dụng điện thoại iOS mà

Tyme đang áp dụng để giảm bớt sự phụ thuộc giữa các thành phần trong cấu trúc ứng dụng

o Clean Architecture: Clean Architecture là một khái niệm được định nghĩa

và đề xuất bởi Robert C.Martin (hay còn gọi là Uncle Bob) với mục tiêu là thức đẩy việc triển khai hệ thống gắn kết, độc lập với công nghệ và ưu tiên khả năng tái sử dụng lại code

o TymeBank iOS Application Architecture: Kiến trúc của ứng dụng trên nền

tảng iOS của TymeBank với sự áp dụng MVVM-C và Clean Architecture

o Automation Test: Kiểm thử tự động với Pikachu Framework, Appium.

Kết quả:

 Hiểu rõ hơn về công ty và các sản phẩm của công ty

 Hiểu được cách đảm bảo an toàn, bảo mật thông tin khi làm việc tại công ty

 Hiểu được văn hóa và quy trình làm việc tại công ty

 Ứng dụng được các công cụ làm việc hiệu quả

 Nắm rõ các nội dung cơ bản trong lập trình iOS và có thể ứng dụng để xây dựng tính năng

 Hiểu được cấu trúc ứng dụng của TymeBank, từ đó có thể tiến tới phát triển các tính năng

 Hiểu rõ tầm quan trọng của Clean Architecture và cách ứng dụng để phát triển phần mềm

Trang 11

 Hiểu cơ bản về Automation Test, biết cách sử dụng Pikachu Framework và Appium để chạy Automation Test Đồng thời, thực hiện được việc viết các testcase cho các tính năng với Pikachu Framework

2 Giai đoạn 2: Quan sát

Thời gian: tuần 3 – 4.

Nội dung:

 Tham gia quan sát và tìm hiểu cách làm việc, quy trình và văn hóa của team

o Agile Scrum

o Các sự kiện:

 Daily Standups

 Refinement

 Sprint Planning

 Internal Review

 Sprint Review

 Sprint Retro

o Quy trình làm việc của team và của community cho các tech stack tại Tyme

o Quy trình Release tại Tyme

 Tìm hiểu domain mà team mình đang chịu trách nhiệm

o DebiCheck – Transaction & Saving

Kết quả:

 Nắm rõ được các nội dung liên quan đến quy trình làm việc, tại sao phải có những

sự kiện đó

 Hiểu rõ quy trình làm việc và văn hóa của team

 Hiểu được những công việc mà các thành viên của team đang thực hiện

 Có thể tham gia và đóng góp vào các sự kiện của team cũng như của công ty

 Nắm rõ quy trình để release phiên bản mới cho ứng dụng

Trang 12

3 Giai đoạn 3: Thực hành

Thời gian: tuần 5 – 12.

Nội dung:

 Tham gia vào quy trình của team và bắt đầu thực hiện các công việc

 Ứng dụng những gì đã tìm hiểu, nghiên cứu để thực hiện trên sản phẩm thật của công ty

 Thực hiện ý tưởng riêng với team thực tập sinh mảng Mobile Send Money with

QR Code (chi tiết ở chương 3).

Kết quả:

 Có được kinh nghiệm thực tế về quy trình làm việc của team

 Có kinh nghiệm thực tế trong việc thực hiện tính năng trên sản phẩm thật của công ty

4 Giai đoạn 4: Ship IT

Thời gian: tuần 13.

Nội dung:

 Thuyết trình về những bài học tại Tyme và đề xuất một ý tưởng, giải pháp để cải thiện Tyme, có thể là về quy trình, về cách làm việc, hoặc về sản phẩm,…

o Send Money with QR Code

 Performance Review với mentor

Kết quả:

 Biết được ưu điểm và nhược điểm của bản thân từ Performance Review để từ đó

có thể cải thiện và phát triển bản thân hơn nữa

Trang 13

CHƯƠNG 3 CHI TIẾT VỀ PROJECT

Ngoài mở tài khoản và giao dịch thông qua các kiosk, TymeBank cung cấp các nền tảng giao dịch khác trên thiết bị điện thoại di động bao gồm cả Android và iOS Các ứng dụng này có thể tải về và sử dụng miễn phí

1 Send money with QR Code (iOS)

Một trong những tính năng thiết yếu nhất trong ứng dụng di

động TymeBank là Send Money, hay còn gọi là Gửi Tiền.

Tính năng này cho phép một người dùng TymeBank có thể

gửi tiền đến một số điện thoại vùng Nam Phi (cả những số

điện thoại chưa có tài khoản ngân hàng)

Ở tính năng này, theo cách thông thường hiện có tại ứng

dụng, người dùng phải thực hiện các bước sau để có thể thực

hiện gửi tiền: nhập số điện thoại → nhập tên người nhận →

nhập số tiền → nhập mô tả giao dịch → gửi tiền.

Trang 14

Tuy nhiên thì đó là trong trường hợp thuận lợi, còn trong trường hợp người dùng nhập sai

số điện thoại thì người dùng phải quay trở lại và bắt đầu luồng gửi tiền lại từ đầu và điều này thì khá bất tiện Ngoài ra, trong trường hợp người dùng muốn gửi hoặc nhận tiền từ nhiều người thì việc thực hiện thủ công các bước trên sẽ khá mất nhiều thời gian

Điều này dẫn đến một ý tưởng để cải thiện quá trình gửi tiền cho người dùng Bằng cách

sử dụng mã QR để lưu trữ thông tin gửi tiền, người dùng có thể thực hiện thao tác nhanh hơn Mã QR này được tạo tự động dựa trên thông tin người dùng và người dùng có thể chỉnh sửa số tiền nhận và mô tả cho giao dịch Sau đó thì người dùng có thể gửi mã QR cho những người khác, người sẽ quét mã QR này để gửi số tiền đã được xác định trước đó

Các tính năng:

 Hiển thị mã QR:

o Cho phép chỉnh sửa số tiền và mô tả giao dịch

o Gợi ý mô tả giao dịch

o Lưu và chia sẻ mã QR

 Quét mã QR:

o Quét mã QR với số tiền và mô tả chưa được xác định

o Quét mã QR với số tiền và mô tả đã được xác định

o Bật/tắt đèn flash

o Lấy mã QR từ thư viện ảnh

 Hướng dẫn sử dụng

So sánh với các phương thức khác thì mã QR là rất nhanh Những gì người dùng cần làm

là mở ứng dụng và quét mã, sau đó là xác nhận giao dịch Khi thực hiện so sánh luồng gửi tiền theo cách thông thường và dùng mã QR thì thời gian hoàn thành có sự cách biệt khá rõ ràng

Trang 15

Một ứng dụng khác nữa là điều này có cho phép nhà bán lẻ có thể tạo mã QR trên biên lai của khách hàng, để in ra và đặt tại cửa hàng, đưa vào hóa đơn hoặc cung cấp duới dạng thanh toán trực tuyến Khách hàng có thể quét nó và sau đó xác nhận giao dịch

Giao dịch với mã QR cũng làm giảm khả năng xảy ra lỗi, chẳng hạn như nhập sai số điện thoại hoặc gửi nhầm người nhận Điều này tất nhiên sẽ thuận tiện hơn cho người dùng khi

họ không bận tâm đến việc số điện thoại nhận tiền mà họ nhập vào có chính xác hay không

Người thực hiện:

 Trần Lê Thanh Tùng

 Trương Kim Lâm (sinh viên UIT cùng là thực tập sinh Mobile mảng iOS tại Tyme với em)

Những việc đã làm:

 Tự động tạo mã QR dựa trên thông tin người dùng

 Tính năng gửi tiền bằng mã QR với số tiền và mô tả giao dịch chưa được xác định

 Tính năng gửi tiền bằng mã QR với số tiền và mô tả giao dịch đã được xác định

 Tính năng bật/tắt đèn flash

 Tính năng gửi tiền với mã QR được lấy từ thư viện ảnh

 Tính năng chỉnh sửa số tiền và mô tả giao dịch cho mã QR

 Tính năng gợi ý mô tả giao dịch trong phần chỉnh sửa số tiền và mô tả giao dịch

 Tính năng lưu mã QR dưới dạng hình ảnh

 Tính năng chia sẻ mã QR

 Tính năng hướng dẫn sử dụng

 Đồng bộ hóa dữ liệu QR giữa nền tảng Android và iOS

Hướng phát triển:

 Hiện tại tính năng quét mã QR chỉ hỗ trợ với camera được đính sẵn trong ứng dụng, nên cải thiện tiếp theo cho tính năng này có thể là quét mã QR với camera

Ngày đăng: 01/02/2023, 21:22

w