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

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

18 7 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 mobile developer
Tác giả Phạm Đức Hoàng
Người hướng dẫn Nguyễn Hồng Vinh – Technical Leader
Trường học Trường Đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành 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ố Thành phố Hồ Chí Minh
Định dạng
Số trang 18
Dung lượng 905,46 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 ĐẠ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 Vi[.]

Trang 2

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 Hoàng

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

Trang 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 Hoàng

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

Trang 4

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ế toà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

Trang 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 quá 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 Hoàng

Tp Hồ Chí Minh, ngày 13 tháng 06 năm 2022

Trang 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

Trang 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

Trang 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

https://waodate.com/

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

Trang 9

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

Trang 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ầ

Nhận xét của 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

Trang 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, quá 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, quá 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

Trang 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

Trang 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

Trang 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ế

Trang 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

Trang 16

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

Trang 17

TÀI LIỆU THAM KHẢO

[1]https://oai.github.io/Documentation/introduction.html

[2]https://github.com/OpenAPITools/openapi-generator

[3]https://docs.stoplight.io/docs/platform/

[4]https://www.tensorflow.org/lite

[5]https://pub.dev/packages/photo_manager

[6]https://docs.flutter.dev/development/platform-integration/platform-channels

[7]https://developer.android.com/kotlin/coroutines

[8]https://developer.android.com/reference/kotlin/androidx/camera/core/ImageAnalysis

[9] Cùng một số tài liệu nội bộ của dự án

Trang 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 hoà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ư chuyên 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

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

w