TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
INTERN MOBILE DEVELOPER
TP Hồ Chí Minh, tháng 12 năm 2023
Trang 2LỜI MỞ ĐẦU
Trong thời đại số hóa ngày càng phát triển, ngành công nghệ thông tin và viễn thông trởthành trọng tâm của sự phát triển kinh tế và xã hội Việc ứng dụng công nghệ mới và sáng tạoliên tục là một phần quan trọng để duy trì sự cạnh tranh của các công ty trong lĩnh vực này.Trong bối cảnh này, em may mắn được tham gia vào chương trình thực tập lập trình viênmobile tại công ty mạng di động Gtel Mobile.
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ànhmạng di động 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ề mạng di động trên thế giới Gtel Mobile, với tầm nhìn và cam kết phát triển dịch vụ diđộng tiên tiến, đã trở thành một trong những đội ngũ ưu tú trong ngành công nghiệp viễn thông.
Ngành mạng di động được sinh ra là do nhu cầu của giới trẻ bằng những thiết bị côngnghệ 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ủangành mạng di động sau này Vì lý do này, em quyết định chọn lập trình di động làm địnhhướng cho việc học tập của mình.
Sau ba 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 làm app di động trong một môi trường chuyên nghiệp, em có dự định là sẽthực tập trong hè Vì vậy, em quyết định chọn Gtel Mobile - 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 3Đặc biệt cảm ơn anh Lê Duyên Thiện, đã training về các tác vụ, cách làm báo cáo, lên kế
hoạch, những kỹ năng không thể thiếu, hướng dẫn, giúp đỡ cho chúng 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 TiếnHoàng, Dũng, đã giúp đỡ em trong phần sử dụng git cùng với dựng server Socket; Cảm ơn tất
cả các anh đã giúp em trong quá trình đóng góp trong việc xây dựng app iZOTA trong thời gianvừa 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ềukiện em làm bài báo cáo này.
Phạm Phùng Gia KhiêmTP.HCM, tháng 12 năm 2023
Trang 5Mục lục
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 6
1 Giới thiệu công ty Gmobile 6
2 iZOTA 6
CHƯƠNG 2: NỘI DUNG THỰC TẬP 8
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 9
2 Nghiên cứu kỹ thuật và chi tiết các công việc thực hiện 10
2.1 Tìm hiểu công cụ và môi trường, build app iZOTA 10
2.2 Review thư viện và tìm hiểu về công nghệ NFC, tìm hiểu công nghệ eKYC 10
2.3 Dựng plugin NFC cho Flutter và Deploy phiên bản mới cho app iZOTA 11
2.4 Tích hợp NFC vào dự án iZOTA, tiềm hiểu và tích hợp MRZ, hỗ trợ công ty định danh cho khách hàng 11
2.5 Tìm hiểu về OTT và kiến trúc ZegoCloud 12
2.6 Tìm hiểu về Socket.io và dựng server Socket.io hỗ trợ cho app iZOTA 13
2.7 Vẽ kiến trúc ZegoCloud và tham gia trao đổi lấy thông tin VTVcab Huyndai – Shopping .13CHƯƠNG 3: CHI TIẾT VỀ CHỨC NĂNG 15
1 Giới thiệu về chức năng 15
1.1 Yêu cầu chức năng 15
Trang 6TÀI LIỆU THAM KHẢO 18
Trang 7CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1 Giới thiệu công ty Gmobile
Công ty Cổ phần Viễn thông Di động Toàn Cầu Gtel Mobile JSC được thành lập vàotháng 07/2008, trên cơ sở liên doanh giữa Tổng Công ty GTEL và Tập đoànVimpelcom (Nga) Do thay đổi trong chiến lược kinh doanh theo thỏa thuận của cáccổ đông, đồng thời được sự phê duyệt của Chính Phủ cũng như các Cơ quan trungương, tháng 4/2012, phía Vimpelcom đã chuyển giao toàn bộ cổ phần của mìnhtrong liên doanh cho phía Việt Nam, qua đó đưa GTel Mobile JSC chính thức trởthành doanh nghiệp viễn thông 100% vốn trong nước, bước sang một giai đoạn mớiphát triển trên thị trường viễn thông Việt Nam.
Hưởng ứng chương trình hành động từ Chính phủ về Chuyển đổi số quốc gia,Gmobile đã và đang hợp tác với nhiều tập đoàn công nghệ hàng đầu cũng như cácđối tác viễn thông, truyền thông Qua đó, xây dựng hệ thống mạng viễn thông diđộng thế hệ mới phù hợp với xu thế đang phát triển tại Việt Nam cũng như trên thếgiới.
Khởi đầu với thương hiệu BeelineVN, đến tháng 9/2012 thương hiệu BeelineVNchính thức được thay thế bởi thương hiệu mới Gmobile.
2 iZOTA
Trang 8iZOTA - Ứng dụng quản lý tài khoản viễn thông của Mạng Di Động Gmobiledành cho Người dùng (cá nhân, tổ chức) và Đại lý Ứng dụng mang lại trải nghiệmkhác biệt với nhiều tiện ích: Đăng ký thuê bao Gmobile Data miễn phí, sử dụng sốảo không cần SIM vật lý, nghe gọi trên ứng dụng, thanh toán hóa đơn nhanh chóng Gmobile sở hữu đầu số 099 với đầu số đa
dạng của cửa hàng, dịch vụ chăm sóc khách hàng chuyên nghiệp Người dùngGmobile có thể dễ dàng đăng ký số đẹp, số sinh nhật gắn thương hiệu cá nhân mộtcách dễ dàng.
Trang 9CHƯƠNG 2: NỘI DUNG THỰC TẬP
Ở chương này, báo cáo sẽ tập trung trình bày các nội dung của kì thực tập bao gồm cácphần giới thiệu và training kĩ năng mềm, nghiên cứu các kiến thức liên quan về lập trình iOS,thực hiện dự án thực tập và cuối cùng là kết quả dự án thực tập Toàn bộ quá trình thực tập kéodài khoảng 2 tháng với lịch trình được khái quát trong bảng sau:
Thời gianNội dung
Giai đoạn 1: Giới thiệu và gặp gỡ (1 ngày)
Chào mừng và giới thiệu về hệ thống của iZOTA
Gặp gỡ team, kết thúc giai đoạn 1
Giai đoạn 2: Chuẩn bị thiết lập môi trường và build app iZOTATuần 1
Trang 10Tuần 3
(31/07 – 05/08)
Dựng plugin NFC cho Flutter
Deploy phiên bản mới cho app iZOTA
(21/08 – 26/08) Tìm hiểu về Socket.ioDựng server Socket.io hỗ trợ cho app iZOTATuần 7 - 8
(28/08 – 09/09) Vẽ kiến trúc ZegoCloud
Tham gia trao đổi lấy thông tin VTVcab Huyndai - ShoppingTuần 9
(11/09 – 16/09) Xây dựng NFC – MRZ SDK Android Native
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, 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ủacông ty Cấu trúc tổng thể của hệ thống iZOTA.
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 tynhư 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ôngviệc…
Kết quả : Hiểu thêm về công ty Gtel Mobile, 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.
Trang 122 Nghiên cứu kỹ thuật và chi tiết các công việc thực hiện
2.1. Tìm hiểu công cụ và môi trường, build app iZOTA
Thời gian : 1 tuần
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ềmtrong số đó như Slack - sử dụng trong tao đổi làm việc nhóm; Conluence –lưu lại document, resources, Daily Stand Up; Github - Lưu và quản lýsource code; Jira quản lý task; …
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, hiểu rõ hơn về cấu trúc của app iZOTA
2.2. Review thư viện và tìm hiểu về công nghệ NFC, tìm hiểu công nghệ eKYC
Thời gian : 1 tuần
Nội dung : Được tìm hiểu về eKYC và công nghệ NFC, review thư viện native NFC
- Tìm hiểu eKYC (Electronic Know Your Customer):
Các kiến thức cơ bản về eKYC như khải niệm, lợi ích, ứng dụng của nótrong dự án của công ty, … Nắm bắt các thông tin:
Mục tiêu
Thành phần thông tin Công nghệ sử dụng Lợi ích
Ứng dụng thực tế
- Tìm hiểu NFC (Near Field Communication)
Các kiến thức cơ bản về NFC như khải niệm, lợi ích, ứng dụng của nótrong dự án của công ty, … Nắm bắt các thông tin:
Nguyên tác hoạt động Chế độ hoạt động Ứng dụng
Tiềm năng phát triển- Review thư viện NFC
Review phần code của hệ thống, hiểu các thành phần của code, build vàđánh giá các trường thông tin được lấy.
Thực hiện :
Trang 13- Tự tìm hiểu thông qua sự hướng dẫn và giới thiệu của lead về các nội dung chínhquan trọng.
- Tiến hành build app mẫu.
Kết quả :
- Nắm các kiến thức về công nghệ NFC và eKYC
- Có được những kiến thức quan trọng cho việc lập trình mobile sau này.- Hiểu cách hoạt động của thư viện và áp dụng nó.
2.3. Dựng plugin NFC cho Flutter và Deploy phiên bản mới cho app iZOTA
Thời gian: 1 tuần
Nội dung: Tìm hiểu cách tạo một Plugin và public nó, đồng thời học cách rebase và
- Deloy bản rebase phiên bản mới nhất của dự án cho tester kiểm tra.
- Tạo thành công plugin NFC cho flutter.
- Hiểu được cách thức hoạt động của một plugin.
2.4. Tích hợp NFC vào dự án iZOTA, tiềm hiểu và tích hợp MRZ, hỗ trợ công ty địnhdanh cho khách hàng.
Thời gian: 1 tuần
Nội dung: Tiến hành tích hợp plugin vào dự án, đồng thời tìm hiểu và tích hợp MRZ,
song song với công việc về kỹ thuật tham gia vào việc hỗ trợ định danh điện tử.
Trang 14 Ứng dụng- Tích hợp MRZ vô dự án:
Tiềm kiếm các thư viện quét MRZ
Setup điều kiện và thông số tương thích với thư viện Tích hợp và thiết kế giao diện quét MRZ
Format lại các trường thông tin phù hợp với chu cầu
- Cùng với các anh chị tham gia vào định danh điện tử cho người dân cũng nhưkhách hàng.
2.5. Tìm hiểu về OTT và kiến trúc ZegoCloud
Thời gian: 1 tuần
Nội dung: Tiềm hiểu về công nghệ OTT và kiến trúc ZegoCloud
- Tiềm hiểu về OTT (Over - The - Top) Định nghĩa Ứng dụng Tiện ích
Khả năng phát triển- Kiến trúc ZegoCloud:
Cách thức hoạt động
Các thành phần chính trong kiến trúc Các luồng xử lý của các chức năng
Trang 152.6. Tìm hiểu về Socket.io và dựng server Socket.io hỗ trợ cho app iZOTA
Thời gian: 1 tuần
Nội dung: Tiềm hiểu về Socket.io và dựng server
- Tiềm hiểu về Socket.io:
Tổng quan
Cơ chế hoạt động Cách tích hợp- Dựng server Socket:
Xác định các yêu cầu
Review base server được cung cấp Tiến hành xây dựng server
Thực hiện:
- Chủ động tìm hiểu và xây dựng mẫu
- Nhận khuôn mẫu code và tiến hành tạo dựng server hoàn chỉnh theo yêu cầu
Kết Quả:
- Dựng thành công server theo yêu cầu hỗ trợ cho hoạt động phát sinh của dự án- Nắm bắt được kiến thức mới về cách dựng server
2.7 Vẽ kiến trúc ZegoCloud và tham gia trao đổi lấy thông tin VTVcab Huyndai – Shopping
Thời gian: 1 tuần
Nội dung: Vẽ kiến trúc ZegoCloud và tham gia trao đổi lấy thông tin VTVcab
Huyndai – Shopping
- Vẽ kiến trúc ZegoCloud:
Tiến hành vẽ kiến trúc của ZegoCloud
Vẽ UML lường hoạt động của các chức năng
- Tham gia trao đổi lấy thông tin với đối tác VTVcab Huyndai theo yêu cầu củaleader
Thực hiện:
Trang 16- Lấy thông tin kỹ thuật của đối tác
Kết Quả:
- Hoàn thành tài liệu tìm hiểu về ZegoCloud- Báo cáo thông tin trao đổi về việc hợp tác
Trang 17CHƯƠNG 3: CHI TIẾT VỀ CHỨC NĂNG
1 Giới thiệu về chức năng
Phần này em sẽ tập trung vào các chức năng chính mà em đã thực hiện trong quá trìnhthực tập tại công ty Gtel Mobile.
1.1.Yêu cầu chức năng
Xây dựng chức năng định danh điện tử: bằng công nghệ NFC và MRZ
dựa trên thư viện Android Native để lấy các trường thông tin từ CCCDgắn chip điện tử theo yêu cầu được đưa ra.
Dựng Socket server hỗ trợ tính năng Realtime cho dự án
1.2.Phân tích chức năng
Chức năng Định danh điện tử:
Người dùng sử dụng CCCD gắn chip để định danh khi sử dụng appiZOTA
Bật chế độ quét MRZ quét mã code MRZ của mặt sau thẻ CCCD để lấycác trường thông tin cơ bản để tiến hành quét NFC
Khi tiến hành quét NFC: hệ thống sẽ lấy thông tin quét được từ MRZ tiếnhành so sánh thông tin quét được từ thẻ
Hiển thị kết quả quét được ra màn hình
Dựng Socket server:
Xây dựng server dựa trên form mẫu của công ty
Lấy data từ API khi được thông báo từ Core của hệ thống
Lấy data chuyển cho app client trong thời gian thực để cập nhật lại giaodiện
Kiểm thử lại các quá trình
Trang 182 Quá trình thực hiện
Chức năng Định danh điện tử:
Review code thư viện Android Native Dựng plugin dựa trên thư viện trên
Thiết lập các kênh Channel giao tiếp giữa Flutter và Native Public plugin lên pubdev
Tích hợp NFC plugin vô dự án Review MRZ plugin
Tích hợp MRZ plugin vô dự án
Format các trường dữ liệu theo yêu cầu
Checkout branch và up source code lên Github
Dựng Socket server
Review format code base Xây dựng Server
Nhận API core Push event lên app
Test các ngoại lệ và kiểm thử
3 Kết quả đạt được
- Xây dựng thành công các chức năng- Hoàn thành quản lý source code - Hoàn thành các thành phần tài liệu
- Học được các kỹ năng và kiến thức về phát triển thư viện flutter, khả năngxử lý và giải quyết vấn đề, networking, …
Trang 19Em đã cân bằng được việc học trên trường cũng như quá trình thực tập được diễn ra khá thành công, nhận được đánh giá khá tốt và em cũng cảm thấy hài lòng với những gì mình đạt được.
4.2 Mô tả hoạch định tương lai dựa trên kết quả thực tập:
Sau khi kết thúc quá trình thực tập, em cảm nhận được mình khá hợp với vị trí Mobile AppDeveloper Vậy nên, em sẽ tiếp tục theo đuổi con đường này, bằng cách cống hiến mình vớinghề, không ngừng học hỏi và phát triển chuyên môn cũng như xây dựng sản phẩm cá nhân.Em mong muốn xây dựng một sự nghiệp đầy triển vọng trong lĩnh vực phát triển ứng dụng diđộng và không ngừng đóng góp vào sự phát triển của ngành công nghiệp này.
Trang 20TÀI LIỆU THAM KHẢO
Gtel Mobile: https://gmobile.vn/