Tải bản đầy đủ (.docx) (18 trang)

Báo cáo thực tập mobile developer

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.17 KB, 18 trang )


TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠNG NGHỆ PHẦN MỀM

Báo Cáo Thực Tập
Mobile Developer

Công ty thực tập: Công ty TNHH WAODATE
Người phụ trách: Nguyễn Hồng Vinh – Technical Leader
Thực tập sinh: Phạm Đức Hồng

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


3

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠNG NGHỆ PHẦN MỀM

Báo Cáo Thực Tập
Mobile Developer

Công ty thực tập: Công ty TNHH NGUYỄN ĐÌNH NGHĨA (WAODATE)
Người phụ trách: Nguyễn Hồng Vinh – Technical Leader
Thực tập sinh: Phạm Đức Hồng

Tp. Hồ Chí Minh, tháng 12 năm 2022

Nguyễn Hồng Vinh



Phạm Đức Hoàng


Lời Mở Đầu
Ngày nay, ngành công nghiệp phần mềm đã và đang là một trong những ngành
nghề có sức phát triển vô cùng mạnh mẽ, chiến tỉ trọng lớn trong nền kinh tế tồn cầu
và khơng hề có dấu hiệu chậm lại. Nhu cầu thị trường cho một sản phẩm phần mềm
hiện nay là cao hơn bao giờ hết. Đứng trước đà phát triển này, cùng với nhu cầu vô
cùng lớn, đã có nhiều cơng ty ra đời nhằm đáp ứng thị trường.
Một trong những cơng ty đó là TNHH MTV NGUYỄN ĐÌNH NGHĨA. Đây
là một cơng ty tư nhân với văn phịng tại Q5, Thành phố Hồ Chí Minh.
Là một sinh viên thuộc khoa Công nghệ phần mềm, em muốn mình được tiếp
xúc với tất cả các loại, các cách, các hướng đi của việc phát triển phần mềm, đồng thời
cảm thấy các mục tiêu và giá trị của cơng ty rất phù hợp với mục đích của bản thân,
nên em đã quyết định chọn công ty là nơi bắt đầu thực tập, mài dũa thêm những kiến
thức và kinh nghiệm thực tế trong những bước chập chững đầu tiên của sự nghiệp.


5

Lời Cảm Ơn
Trân trọng gửi lời cảm ơn đến Công ty TNHH NGUYỄN ĐÌNH
NGHĨA(WAODATE) đã tạo điều kiện cho em có cơ hội được thực tập tại cơng ty.
Em đã được học rất nhiều thứ từ sự chỉ dẫn nhiệt tình của các anh, chị trong
cơng ty. Em khơng những học được những kỹ thuật, kiến thức trong các dự án thực tế,
mà cịn tích góp được cho bản thân những kinh nghiệm khi làm một nhân viên trong
công ty, cách giao tiếp, làm việc nhóm trong các dự án chung. Chân thành cảm ơn các
anh chị, đặc biệt là anh Phong, đã giúp đỡ, hướng dẫn cũng như theo sát để góp ý em
trong suốt q trình thực tập.

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.
Phạm Đức Hồng
Tp. Hồ Chí Minh, ngày 13 tháng 06 năm 2022

Nguyễn Hồng Vinh

Phạm Đức Hoàng


6

Nhận Xét Của Khoa
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................

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

MỤC LỤC
GIỚI THIỆU CÔNG TY THỰC TẬP
Giới thiệu về cơng ty TNHH Nguyễn Đình Nghĩa
Một số dự án của công ty
NỘI DUNG THỰC TẬP
Tổng quan kế hoạch thực tập
Tuần 1 - Làm quen với công ty, setup cơng cụ, máy móc

Nguyễn Hồng Vinh

Phạm Đức Hồng


7

Tuần 2 - Tìm hiểu các thư viện hỗ trợ trong Flutter
Tuần 3 -Xây dựng giao diện và phát triển tính năng chọn ảnh, preview ảnh
Tuần 4 – Phát triển tính năng chat, gửi tin nhăn hình ảnh giữa người dùng
Tuần 5 – Tham gia cùng team hỗ trợ phát triển các tính năng của app
Tuần 6 - Tìm hiểu thực hành sử dụng OpenApi và một số dịch vụ hỗ trợ
Tuần 7 – Xử dụng OpenApi và Python với thư viện pandas để phát triển tính năng
Tuần 8 - Tìm hiểu về các cơng cụ nhận dạng, phát hiện sự chân thật của khuôn mặt
GIỚI THIỆU VỀ DỰ ÁN
TÀI LIỆU THAM KHẢO
TỔNG KẾT


Nguyễn Hồng Vinh

Phạm Đức Hoàng


8

GIỚI THIỆU CƠNG TY THỰC TẬP
Giới thiệu về cơng ty TNHH Nguyễn Đình Nghĩa

/>
Waodate là cơng ty phần mềm tư nhân chuyên cung cấp các dịch vụ phần mềm và sản
xuất nội số các sản phẩm của công ty bao gồm các platform trực tuyến hoạt động trên
nền tảng website và ứng dụng di động.
Khách hàng của waodate nhắm tới là những người bận rộn có nhu cầu kết bạn với
nhau.
Đội ngủ nhân viên của waodate là những người trẻ, nhiệt huyết thấu hiểm mong muốn
của những người độc thân muốn tìm kiếm một nủa cho mình. Mơi trường làm việc
công bằng và thân thiện cho phép cá nhân đề xuất ý kiến, được tự tin thể hiện chính
mình cũng như có cơ hội để vận dụng kiến thức , thể hiện ý tưởng, cống hiến với khả
năng bản thân.
Waodate lấy con người làm trọng tâm, tạo điều kiện cao nhất cho mỗi cá nhân thức
đẩy sự phát triển để mỗi cá nhân trở thành phiên bản tốt hơn của chính mình.
Các sản phầm của waodate sử dụng những quy trình phát triển Agile, kết hợp Code
Review, Testing để đảm bảo chất lượng sản phẩm đầu ra.
Waodate sử dụng PHP, NodeJS, React, Java, Kotlin và Flutter cho ứng dụng trên web
và mobile.

Nguyễn Hồng Vinh


Phạm Đức Hoàng


9

Một số dự án của công ty

Nguyễn Hồng Vinh

Phạm Đức Hoàng


10

NỘI DUNG THỰC TẬP
Trong 2 tháng nhằm mục đích giúp sinh viên thực tập được đào tạo về kĩ năng lập
trình với vị trí Mobile Developer, đồ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 làm việc chuyên nghiệp.

Tổng quan kế hoạch thực tập
Kéo dài từ ngày 14/04/2021 đến ngày 14/06/2022.
Tuầ
n

Công việc

Người hướng dẫn


1

Làm quen với cơng ty, setup cơng cụ,
máy móc, làm quen với dự án.

Anh Vinh

2

Tìm hiểu về các thư viện hỗ trợ phát
triển tính năng cho flutter

Anh Vinh

3

Xây dựng và phát triển tính năng cho
dự án, tiếp xúc với các cơng cụ quản lý
state cho dự án thực tế.

Anh Vinh

4

Làm quen với các công cụ giao tiếp với
backend như Postman, các thư viện hỗ
trợ như http, dio. Xây dựng các tính
năng cho app.

Anh Vinh


5

Xây dựng tính năng cho app. Làm quen
với responsive design.

Anh Vinh

6

Tìm hiểu về đặc tả open api cho rest
apis, các công cụ và dịch vụ hỗ trợ phát
triển ứng dụng,

Anh Vinh

7

Xử dụng open api, python để xây dựng
dựng tính năng cho app.

Anh Vinh

8

Xây dựng SDK nhận diện khuôn mặt
với Kotlin và Tensorflow.

Anh Vinh


Nguyễn Hồng Vinh

Nhận xét
của người
hướng dẫn

Phạm Đức Hoàng


11

Tuần 1 - Làm quen với công ty, setup công cụ, máy móc, tự học Flutter.
Nội dung chi tiết








Được nghe anh Nghĩa giới thiệu về cơng ty, q trình thành lập và phát triển,
cách công ty tổ chức và quản lý cơng việc hàng ngày.
Thực tập sinh setup máy móc làm việc, các phần mềm lập trình, các cơng cụ
giao tiếp (Slack, Gmail, …, công cụ quản lý dự án (Gitlab, Figmar, ...).
Sau đó thực tập sinh tự học thêm về Flutter framework để chuẩn bị tham gia
vào dự án ở tuần tiếp theo.
Kết quả
Hiểu thêm về công ty Waodate, q trình thành lập và phát triển.
Có thêm kỹ năng về sử dụng Figmar, Jira, Email trong công việc, làm việc

nhóm, giao tiếp tốt hơn.
Có thêm hiểu biết về ngơn ngữ lập trình Dart và Flutter framework.

Tuần 2 - Tìm hiểu về các thư viện hỗ trợ trong Flutter
Nội dung chi tiết






Được anh Vinh (người phụ trách/hướng dẫn) giới thiệu tổng quát về dự án hiện
tại mà team đang nghiên cứu và triển khai.
Team Mobile đang tập trung phát triển tính năng chat cho dự án cần thực hiện
xây dựng các tính năng liên quan tới native cần tìm hiểu về các plugin cũng như
thư viện để thực hiện.
Tự học tìm kiếm và đọc source các thư viện hỗ trợ.
Tìm hiểu về các công cụ, phần mềm đang được sử dụng trong dự án.
Kết quả





Hiểu rõ về team cũng như dự án mà mình được phân vào. Nêu ý tưởng cũng
như để xuất khi lựa chon các các thư viện và cơng cụ với Lead và được chấp
nhận.
Có thêm được những kiến thức liên quan đến phát triển tính năng của mobile
app.


Nguyễn Hồng Vinh

Phạm Đức Hoàng


12

Tuần 3 – Xây dựng giao diện và phát triển tính năng chọn ảnh, camera
review.
Nội dung chi tiết


Sau thời gian tìm tịi và nghiên cứu bản thân được giao nhiệm vụ xây dụng tính
năng chọn hình ảnh trên hệ thống vơi giao diện được thiết kế từ designer. Yêu
cầu ảnh được chọn phải được hiển thị trong grid và có camera review, phải giải
giải phóng vùng nhớ cũng như thực hiện phân trang để cải thiện hiệu năng của
app.



Xử dụng 2 thư viên hỗ trợ của flutter là photo_manager và camerawesome,
photo_view.
Kết quả



Xây dựng được tính năng chọn ảnh với ui được thiết kế nhận từ designer thõa
mãn yêu cầu của nhiệm vụ được giao mặc dù vẫn còn một số lỗi liên quan đến
giải phóng vùng nhớ.




Code sau khi review đã được yêu cầu refactor lại để logic chặt chẽ hơn cũng
như thống nhất style code trong app.

Tuần 4 – Nhận task liên quan tới gửi tin nhắn giữa các người dùng được phân
quyền.
Nội dung chi tiết





Nhận task từ lead yêu cầu viết tính năng gửi ảnh giữa người dùng với nhau thõa
mãn yêu cầu nghiệp vụ được mô tả trong task.
Tham gia trao đổi với team backend để thực hiện nhiệm vụ được giao.
Kết quả
Task hoàn thành đúng thời gian.
Gặp một lỗi bug làm tốn khá nhiều thời gian để tìm cách khắc phục với sự giúp
đỡ từ lead.

Nguyễn Hồng Vinh

Phạm Đức Hoàng


13

Tuần 5 – Tham gia cùng team để phát triển một số tính năng khác của app.
Nội dung chi tiết




Nhận nhiệm vụ của lead tham gia vào sửa các lỗi liên quan đến ui trong app.
Tham gia viết một vài screen trong app.
Kết quả




Hiểu hơn về dự án đang phát triển.
Làm quen được với một số thư viện, partern quản lý state phổ biến được sử
dụng trong thực tế.



Hiểu biết mới về cách thức xây dựng ứng dụng mobile application, responsive
trên nhiều thiết bị với nhiều kích thức và độ phân giải khác nhau.

Tuần 6 - Tìm hiểu thực hành sử dụng OpenApi Specification
Nội dung chi tiết



Tìm hiểu về chuẩn open api định dạng mô tả api dành cho rest apis.
Thực hành viết file script và sử dụng công cụ open api generator và stoplight
service để generate các đầu api xử dụng làm mock api khi backend chưa kịp
xây dựng.
Kết quả


• Có thêm kiến thức về open api cũng như hiểu biến thêm trong thực tế fontend và
backend hoàn toàn có thể làm việc độc lập với nhau với sự trợ giúp của open
api cũng như các công cụ open api generator cũng như stoplight service.

Nguyễn Hồng Vinh

Phạm Đức Hoàng


14

Tuần 7 – Xử dựng open api và python để xây dựng tính năng cho app.
Nội dung chi tiết



Nhận nhiệm vụ xây dựng bộ dữ liệu địa phận hành chính quốc gia để xử dụng
trong app và xử dụng.
Xử dụng python và thư viện panda để trích xuất dữ liệu từ file excel chuyển về
format json để sử dụng trong app.

Kết quả


Xây dựng thành cơng bộ dữ liệu khu vực hành chính quốc gia và xây dựng các
tính năng liên quan.



Đấu dữ liệu với mock api sử dụng stoplight service và open api generator.


Tuần 8 – Xử dụng Kotlin kết hợp với team AI xây dựng bộ SDK nhận diện
khuôn mặt, phát hiện độ chân thật của khuôn mặt.
Nội dung chi tiết






Các dự án của cơng ty bị pending trong thời gian chờ đợi quyết định mới lead
chỉ đinh cho team hợp tác với team ai xây dựng bộ sdk nhận diện khuôn mặt và
xác định độ chân thật để xử dụng sau này yêu cầu sdk được viết bằng kotlin
hoặc java.
Các hướng giải quyết:
o Nghiên cứu một số ưu và nhược điểm của kotlin và java.
o Tìm hiểu về các thư viện của android hỗ trợ cho việc nhận dạng khuôn
mặt cũng như các thư viện hỗ trợ thao tác với platform native, kết hợp
với team AI để lựa chọn công cụ phát triển.
Quyết định áp dụng xử dụng Kotlin làm ngôn ngữ phát triển, tensorflow plugin
làm thư viện hỗ trợ phát triển.

Kết quả


Hiểu thêm về ngơn ngữ, các thao tác sử lý bất đồng bộ của Kotin, hiểu thêm về
cách thức thức một app cross platform giao tiếp với native, cũng như hiểu biết
mới về cách thức kết hợp mơ hình máy học vào phát triển tính năng trong dự án
thực tế.


Nguyễn Hồng Vinh

Phạm Đức Hoàng


15

GIỚI THIỆU VỀ DỰ ÁN
Tổng quan
Dự án xây dựng bộ Face SDK được triển khai dựa trên yêu cầu của trưởng nhóm phát
triển phần mềm trong thời gian dự án hiện tại bị pedding chờ lên planning mới. Dự án
được thực hiện nhằm chuẩn bị sẵn sàng các nguồn lực để chuẩn bị cho các dự án tiếp
theo cũng như để tạo sự liên kết giữa các team cùng làm việc với nhau.
Thực hiện
Trước khi vào công ty bản thân em ở trường cũng đã có một số hiểu biết sơ bộ về việc
ứng dụng các mơ hình máy học trong thực tế để hỗ trợ phát triển các tính năng của
phần mềm và một số kiến thức nền tảng về lập trình di động với các ngơn ngữ native
như Kotlin và Java cũng như một số công cụ và thư viện hỗ trợ xử lý hình ảnh như
Tensorflow và OpenCV. Dự án là một cơ hội lớn để em được trực tiếp tham gia học
hỏi thêm về cách thức để áp dụng các mơ hình này trong thực tế để đáp ứng các
nghiệp vụ của doanh nghiệp. Thời gian đầu của dự án mặc dù đã có một số khái niệm
được trang bị khi học các môn ở trường, tuy nhiên khi áp dụng vào thực tế khi áp
dụng bản thân em cịn thấy mình cịn rất nhiều thứ cần tìm hiểu và học hỏi thêm.
Kết quả
Cùng với team AI, cả đội đã hoàn thành dự án với hơn 2 tuần thực hiện từ việc lựa chọn chọn
công cụ cho tới việc học các kiến thức về native cần có để thực hiện dự án. Qua dự án này
bằng việc trải nhiệm thức tế em đã nắm rõ hơn về cách thức tổ chức triển khai một dự án trong
môi trường doanh nghiệp sự chuyên biệt trong từng bộ phận cũng như sự liên kết phối hợp
giữa các bên để hoàn thành một mục tiêu chung. Cùng với các kiến thức mới đạt được về mặt
kỹ thuật như sử lý bất đồng bộ trong Kotlin, thực hiện kiểm thử và điều trỉnh model, gọi API

đều là những kiến thức vô cùng quý giá mà em đạt được.

Nguyễn Hồng Vinh

Phạm Đức Hoàng


16

Một số hình ảnh minh họa về dự án.

Nguyễn Hồng Vinh

Phạm Đức Hoàng


17

TÀI LIỆU THAM KHẢO
[1] />[2] />[3] />[4] />[5] />[6] />[7] />[8] />[9] Cùng một số tài liệu nội bộ của dự án

Nguyễn Hồng Vinh

Phạm Đức Hoàng


18

TỔNG KẾT
Qua hơn 2 tháng thực tập ở công ty Waodate em đã cống hiến sức mình vào cơng việc

của cơng ty trong việc xây dựng các tính năng cũng như tìm hiểu và vận dụng các kiến
thức đạt được vào trong cơng việc. Thay lời muốn nói em xin chân thành cảm ơn ban
lãnh đạo của Waodate đã tạo điều kiện cho em hồn thành khóa thực tập này. Kì thực
tập vừa qua là một trải nghiệm quý báu với em cho chặng được tiếp tới. Qua kì thực
tập này bản thân em phát hiện và học hỏi được rất nhiều từ các nhiệm vụ được giao
cũng như những thiếu sót về mặt kỹ năng cũng như chun mơn mình cần phải trao
dồi. Quan trong nhất kì thực tập này giúp em chuẩn bị cho mình một sự tự tin hơn vào
bản thân cho những công việc sau này cũng như giúp em biết mình mạnh và yếu ở mặt
nào để từ đó cái thiện cũng như những thứ doanh nghiệp cần ở một ứng viên.

Nguyễn Hồng Vinh

Phạm Đức Hoàng



×