1. Trang chủ
  2. » Tất cả

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

16 10 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ả Đặng Duy Bằng
Người hướng dẫn Đinh Gia Kiệt
Trường học Trường Đại Học Công Nghệ Thông Tin - Khoa Công Nghệ Phần Mềm
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ố TP. Hồ Chí Minh
Định dạng
Số trang 16
Dung lượng 450,2 KB

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

Nội dung

Đinh Gia Kiệt Đặng Duy Bằng 19521234 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 MOBILE DEVELOPER Công ty thực tập Công ty TNHH Vitalify Asia Người phụ trách Đinh Gia K[.]

Trang 1

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 Vitalify Asia

Người phụ trách : Đinh Gia Kiệt

Mã số sinh viên : 19521234

Trang 2

Đinh Gia Kiệt Đặng Duy Bằng - 19521234

LỜI MỞ ĐẦU

Thời đại công nghệ và Internet bùng nổ đã giúp cho các thiết bị di động được

đà phát triển như “vũ bão” Điều này đã tạo ra môi trường thuận lợi cho sự phát triển rầm rộ của các ứng dụng trên di động Những ứng dụng di động quen thuộc mà bạn

sử dụng hàng ngày như Facebook, Instagram, Grab, được tạo ra bởi Mobile

Developer hay được hiểu đơn giản là một nhà phát triển ứng dụng di động

Và cho đến ngày nay, công việc lập trình máy tính không còn quá xa lạ gì đối với những ai đang theo đuổi và làm việc trong ngành IT Tuy nhiên, công việc lập trình cho điện thoại di động cũng đang từng bước phát triển với sự tiến bộ mạnh mẽ Sau bốn năm học tập trên trường, do mong muốn có thêm kinh nghiệm, cũng như muốn được tham gia vào các dự án thực tế trong một môi trường chuyên nghiệp, đem lại các những trãi nghiệm đầu tiên trên con đường chinh phục tương lai của em

Em đã chọn công ty Vitalify Asia làm bước khởi đầu cho hành trình trở thành một Mobile Developer

Trang 3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn đến công ty Vitalify Asia đã tạo cơ hội để em được tham gia vào một môi trường làm việc quốc tế và chuyên nghiệp

Trong một thời gian ngắn đồng hành cùng công ty và các anh chị trong team trainer đã giúp em hiểu thêm về công việc trong lĩnh vực, tích luỹ được những kinh nghiệm đầu tiên và áp dụng được những kiến thức đã học vào thực tiễn Cảm ơn thời gian quý báu của anh chị đã chia sẽ và training giúp em tìm ra hướng đi trên con đường sự nghiệp của bản thân

Lời tiếp theo em muốn gởi lời cảm ơn chân thành đến trường đại học Công nghệ thông tin nói chung và khoa Công nghệ phần mềm nói riêng đã tạo cơ hội để tụi em được học hỏi và trao dồi kĩ năng cần thiết cũng như kiến thức trước khi bước vào con đường làm việc và đồng hành cùng em để hoàn thành một bản báo cáo thực tập hoàn chỉnh

Đặng Duy Bằng - 19521234 Thành phố Hồ Chí Minh, ngày 26 tháng 12 năm 2022

Trang 4

Đinh Gia Kiệt Đặng Duy Bằng - 19521234

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

LỜI MỞ ĐẦU 1

LỜI CẢM ƠN 2

NHẬN XÉT CỦA KHOA 3

MỤC LỤC 4

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

1.1 - GIỚI THIỆU VỀ CÔNG TY TNHHVITALIFY ASIA 6

1.2 - MÔI TRƯỜNG, VĂN HOÁ CON NGƯỜI VÀ KINH NGHIỆM LÀM VIỆC 6

1.3 - GIỚI THIỆU VỀ CÁC DỰ ÁN CỦA CÔNG TY 6

1.4 - QUY TRÌNH LÀM VIỆC CỦA CÔNG TY 7

1.5 - SƠ ĐỒ THỰC HIỆN VÀ PHÁT TRIỂN DỰ ÁN 8

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

2.1-TÌM HIỂU VỀ CÁC VỊ TRÍ, VAI TRÒ VÀ CÁC KỸ NĂNG CƠ BẢN TRONG CÔNG TY 9

2.2 - TÌM HIỂU NGHIÊN CỨU CÔNG NGHỆ VÀ CẤU TRÚC DỰ ÁN 9

2.3 - THAM GIA DỰ ÁN 10

2.4 - QUÁ TRÌNH THỰC TẬP VÀ THỰC HIỆN CÔNG VIỆC 10

CHƯƠNG 3 TỔNG KẾT 15

Trang 6

Đinh Gia Kiệt Đặng Duy Bằng - 19521234

DANH MỤC TỪ VIẾT TẮT

IDE Integrated Development Environment

Trang 7

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

1.1 Giới thiệu về Công ty TNHH Vitalify Asia

Vitalify Asia là công ty phát triển offshore của Nhật Bản được thành lập vào năm 2008, phát triển ứng dụng, phần mềm có trụ sở chính ở Tokyo Vitalify Asia có thể mạnh về phát triển các dịch vụ hướng về người dùng hoặc phát triển cho các thiết

bị thông minh Với 90% khách hàng là công ty Nhật Bản, các thành viên của Vitalify luôn có cơ hội tham gia vào các dịch vụ CNTT mới nhất tại Nhật Bản Hiện diện tại Việt Nam, với những nỗ lực không ngừng, Vitalify góp phần nâng cao năng lực nhân

sự IT tại đây

Là thành viên chính thức trực thuộc bộ phận IT của Hiệp hội doanh nghiệp Nhật Bản tại Hồ Chí Minh, Vitalify đem đến cho khách hàng những dịch vụ công nghệ thông tin như:

− Lập trình Website

− Thương mại điện tử

− Ứng dụng phần mềm

− Ứng dụng di động

1.2 Môi trường, văn hoá con người và kinh nghiệm làm việc

Với đội ngũ kỹ sư có gần 100 người, Vitalify Asia tạo ra môi trường làm việc quốc tế và thân thiện với các chuyên gia Nhật Bản gần gũi, hoà đồng cùng các đồng nghiệp chân thành cởi mở luôn mang lại cảm giác tự tin thúc đẩy tinh thần làm việc, tạo điều kiện sáng tạo và phát huy năng lực bản thân

Về kinh nghiệm làm việc, công ty đã có:

− 9 năm kinh nghiệm trong lĩnh vực điện thoại thông minh tại Việt Nam

− Văn phòng của công ty ở France Villa

− Có hơn 100 kỹ sư Việt Nam

− 5 nhân viên người Nhật tại thành phố Hồ Chí Minh

− 30 nhân viên Nhật Bản tại Tokyo, Nhật Bản

− 17 nhân viên người Việt Nam tại Tokyo, Nhật Bản

− Đã phát triển hơn 200 ứng dụng giải trí / dịch vụ cho Nhật Bản

− Công ty Vitalify Aisia nhắm đến thị trường giải trí Việt Nam từ năm 2016

1.3 Giới thiệu về các dự án của công ty

− Outsource trên nhiều ngôn ngữ lập trình và framework (Nodejs, Javasript, Php, Ruby, Java, Python, Swift, Kotlin , Flutter, React-Native, ReactJS, VueJS,…)

− Phát triển Game bằng Unity

− Phát triển sản phẩm liên quan đến AI

Trang 8

Đinh Gia Kiệt Đặng Duy Bằng - 19521234

1.4 Quy trình làm việc của công ty

Sprint length 1 đến 2 tuần phụ thuộc vào từng dự án

Daily report send time Báo cáo tiến độ làm việc với BPM vào thời

điểm cuối của mỗi ngày làm việc đó

Sprint retrospective Thời gian linh hoạt sau khi hoàn thành giai

đoạn Internal weekly meeting 1 Code review

2 Sprint review

3 Sprint retrospective

4 Estimate schedule for next sprint

1.5 Quy trình nhận task và thực hiện của developer và BPM

− BPM sẽ tạo ticket cho Dev với trạng thái ban đầu là “Open”

− Dev nhận ticket, điền thời gian ước tính cần thiết để hoàn thành và chuyển task

từ “Open” sang “In Progress” để bắt đầu công việc

− Sau khi thực hiện hiện xong, Dev sẽ tạo PR (nếu có) và viết mô tả đẩy đủ bao gồm (vấn đề, nguyên nhân, giải pháp) sau đó sẽ chuyển ticket về trạng thái

“Wait for review” cho Dev Leader

− Dev sẽ assign các thành viên trong team Dev còn lại vào review ticket

− Sau khi Dev Leader đã review xong sẽ chuyển trạng thái ticket về “In Testing” cho BPM để kiểm tra và test

− Nếu không còn vấn đề gì nữa, BPM sẽ chuyển ticket về trạng thái “Resolved”, sau đó “Closed” ticket

Trang 9

1.6 Sơ đồ thực hiện và phát triển dự án

Trang 10

Đinh Gia Kiệt Đặng Duy Bằng - 19521234

Chương 2 Nội dung thực tập

2.1 Tìm hiểu về các vị trí, vai trò và các kỹ năng cơ bản trong công ty

− PM (Project Manager): Project Manager hay được gọi tắt là PM, là người

được công ty chỉ định và giao nhiệm vụ quản lý các dự án, chịu trách nhiệm lên kế hoạch, triển khai cho dự án đó hoàn thành các mục tiêu ban đầu Sau đó

uỷ quyền cho một team dưới sẽ quản lý quy trình làm việc của BPM

− BPM (Bridge Project Manager): Là người thay mặt PM quản lý quy trình

làm việc của một team dev, là người trực tiếp trao đổi với khách hàng để hiểu

rõ về dự án, nắm bắt thông tin và yêu cầu của dự án, sau đó làm tài liệu đặc tả chi tiết và tổ chức họp phân chia công việc cho các thành viên trong team dev

− Dev Leader (Developer Leader): Là người chịu trách nhiệm quản lý source

code mà merge code sau khi các thành viên trong team dev hoàn thành công việc, ngoài ra sẽ cùng các thành viên còn lại review để mỗi người đều có thể nắm rõ được cấu trúc của source code trong dự án

− Dev (Developer): một team dev sẽ có từ 2 từ 5 thành viên sẽ dựa trên tài liệu

đặc tả được tạo và thực hiện các nhiệm vụ do BPM giao phó

2.2 Tìm hiểu nghiên cứu công nghệ và cấu trúc dự án

2.2.1 Atomic Design

Atomic Design là Một phương pháp thiết kế giao diện mà Designer sẽ ưu tiên thực hiện thiết kế các thành phần riêng lẻ và kết hợp chúng lại với nhau, thay vì thiết kế cả trang

Trong Atomic Design: giao diện được chia thành 5 phần:

− Atoms

− Molecules

− Organisms

− Templates

− Pages

2.2.2 TypeScript

TypeScript là một dự án mã nguồn mở được phát triển bởi Microsoft, được xem là phiên bản nâng cao của JavaScript Vì nó được bổ sung tùy chọn kiểu tĩnh và các lớp hướng đối tượng, nó bao hàm cả ECMAScript 2015 (ES6) TypeScript thừa hưởng cú pháp của JavaScript, vì vậy các lập trình viên có thể tiếp cận dễ dàng khi đã có các kiến thức cơ bản về JavaScript

Ưu điểm:

− Là mã nguồn mở,

− Dễ dàng phát triển dự án lớn,

− Hỗ trợ các tính năng mới nhất của Javascript,

− Hỗ trợ OOP mạnh,

− Cách tổ chức code dễ dàng,

− Nhiều framework lựa chọn

Nhược điểm:

Trang 11

− Mã cồng kềnh,

− Thêm bước bổ sung, biên dịch,

− Có thêm các cú pháp riêng

2.2.3 React Native

React Native được phát triển bởi Facebook với mục đính ban đầu là áp dụng vào mạng xã hội lớn nhất hành tinh: Facebook Do đặc tính công nghệ của mạng xã hội, Facebook cần phải tạo ra nền tảng phát triển ứng dụng di động đa nền tảng có hiệu năng không thua kém so với ứng dụng được phát triển độc lập cho từng nền tảng React Native hiện tại chỉ hỗ trợ phát triển ứng dụng di động

hệ điều hành Android và iOS, ít hơn so với Ionic (Android, iOS, Windows Phone)

React Native tạo ra ứng dụng native chứ không phải hybrid app như ionic, Với 100% Native UI, React Native tạo nên sự “mượt mà” trong việc render UI và xóa nhòa khoảng cách về hiệu năng giữa ứng dụng đa nền tảng so với ứng dụng độc lập nền tảng

2.3 Tham gia dự án

Tháng đầu tiên sẽ được training về các quy tình làm việc của công ty, giới thiệu các team các dự án, và rule làm việc tại công ty, ngoài ra sẽ traning về các công nghệ

mà dự án đang thực hiện để nắm rõ tổng quan dự án, tham gia đọc và tìm hiểu cấu trúc soure code để làm quen với quy trình và cách thức tổ chức công việc

Từ tháng thứ hai trở đi, bắt đầu nhận các task liên quan đến dự án thực tế, tham gia họp tvà thảo luận với team để cùng nhau đưa ra giải pháp phù hợp và phia chia công việc phù hợp với năng lực Chi tiết quá trình thực hiện sẽ được nêu rõ ở phần sau

2.4 Quá trình thực tập và thực hiện công việc

Giai đoạn 1 (07/20222 -> 08/2022): Tham gia dự án đầu tiên, tìm hiểu công

nghệ, học hỏi quy trình và cách làm việc của công ty

- Ngôn ngữ lập trình: Typescript, Javascript

- IDE: Visual code

- Framework: React Native

25/07/2022 (Mon) Get to know the members

Clone source code run emulator

Buld failed on emulator

26/07/2022 (Tue)

Run on devices [USER DETAIL] [CONTACT]

Build draft UI

Clone project error

27/07/2022 (Wed)

Start first task: [USER DETAIL]

[CONTACT] Build

None

Trang 12

Đinh Gia Kiệt Đặng Duy Bằng - 19521234

app Learn atomic design, Mobx,

28/07/2022 (Thu)

Completed build UI user contact table

New task: load data to table user contact

Logic and re build UI User Info Detail Contact

Query from database

29/07/2022 (Fri)

Adjust UI User Contact Screen Load data from local data to User contact table: doing

Code unclear, lengthy

1/08/2022 (Mon)

Load data into table user and family contact

Adjust UI user contact screen Buid top info UI in user contact screen

None

2/08/2022 (Tue)

Continue Load data header info user contact

Handle optimal code: Pending

None

3/08/2022 (Wed)

Load data header info user contact:

Done Handle optimal code: Done Update UI

fix logic code change to text from /atom fix conflict

None

4/08/2022 (Thu)

Fix yesterday's conflict test sreen on android and ios fix layout and error userPhoto fix phone call on ios

completed User Detail Contact Screen

None

5/08/2022 (Fri)

Create AddUnScheduleScreen Select User Screen

Handle navigate to AddScheduleVPScreen Fix conflict

None

8/08/2022 (Mon)

Read test case Test on real device (android) Record video

Find bug and list on exel rely on

None

Trang 13

Test case (Check in, Check out, leave note, signature)

9/08/2022 (Tue)

Improve UI User Contact Detail Test on android device

Test rely test case Elapsed record report and note

None

10/08/2022 (Wed)

Fix UI (handle invalid data)

Re logic handle data UserFamilyContact Fix render data if previous data is empty

Test double elapsed record

None

11/08/2022 (Thu) Fix bug screen User contact

Test

None

12/08/2022 (Fri) Test Register Order

Test Vital

None

15/08/2022 (Mon)

Improve footer UI Change animation for popup smoothy

Smoothy Model animation

16/08/2022 (Tue)

Adjust loading LoginScreen and handle lag on android Synchronize animation popups and modals

Interact slowly when

press button

17/08/2022 (Wed)

Handle loading show staffmodel in loginscreenbyusernamescreen Create common modal component Build and test on android device Fix conflict

None

18/08/2022 (Thu)

Handle navigate to user contact from ShiftInfo (65%)

Fix padding UserListScreen and VPSelectUserScreen

Disappear when load data after new query

19/08/2022 (Fri)

Handle navigato user contact fro shiftInfo: Done

Fix color and pading UI Fix conflict Modal coponent

None

Trang 14

Đinh Gia Kiệt Đặng Duy Bằng - 19521234

Change color for background userInfo

Fix layout UI familyTable Fix conflict

Fix animationIn for loading screen

24/08/2022 (Wed) Improve scrollbar

Fix loading userContact

None

Giai đoạn 2 (08/20222 -> 09/2022): Học công nghệ mới, ngôn ngữ mới, đánh

giá khả năng học hỏi, tốc độ tiếp thu kiến thức

- Ngôn ngữ lập trình: Objective-C

- IDE: Xcode

25/08/2022 – 02/09/2022 Implementing Views

− Displaying Alerts with UIAlertView

− Creating and Using Switches with UISwitch

− Customizing the UISwitch

− Picking Values with the UIPickerView

− Picking the Date and Time with UIDatePicker

− Implementing Range Pickers with UISlider

− Customizing the UISlider 05/09/2022 – 16/09/2022 Implementing Controllers

− Grouping Compact Options with UISegmentedControl

− Presenting and Managing Views with UIViewController

− Presenting Sharing Options with UIActivityViewController

− Presenting Custom Sharing Options with UIActivityViewController

− Implementing Navigation with UINavigationController

− Manipulating a Navigation Controller’s Array

of View Controllers

− Displaying an Image on a Navigation Bar

− Adding Buttons to Navigation Bars Using UIBarButtonItem

− Presenting Multiple View Controllers with UITabBarController

19/09/2022 – 23/09/2022 Creating Dynamic and Interactive User Interfaces

− Adding Gravity to Your UI Components

Trang 15

− Detecting and Reacting to Collisions Between

UI Components

− Animating Your UI Components with a Push

− Attaching Multiple Dynamic Items to Each Other

− Adding a Dynamic Snap Effect to Your UI Components

− Assigning Characteristics to Your Dynamic Effects

Giai đoạn 3 (09/20222 -> 10/2022): Chuyển qua dự án tiếp theo để hỗ trợ

mọi người phát triển, maintain ứng dụng di động, tiếp tục thực hiện các tasks được giao theo yêu cầu của dự án

Trang 16

Đinh Gia Kiệt Đặng Duy Bằng - 19521234

Chương 3 Tổng kết

Như vậy, đã kết thúc 3 tháng thực tập tại công ty, lời đầu tiên em xin chân thành gửi lời cảm ơn đến trường đại học Công nghệ thông tin đã tạo cơ hội để tụi em có được những cơ hội để tiếp cận với thế giới bên ngoài, được tham gia vào dự án thực

tế, biết được năng lực và đam mê của bản thân đã giúp em có thêm những kinh nghiệm đầu tiên trong hành trình sự nghiệp của mình

Ngoài ra, em cũng muốn dành lời cảm ơn công ty Vitalify Asia đã tạo điều kiện cho em cũng như các bạn cùng trang lứa có một môi trường thực tập thật tốt, cảm ơn

sự giúp đỡ của anh chị trong team trainer đã dành thời gian quý báu của mình để nâng

đỡ các đàn em, giúp em hiểu được quy trình làm việc, cách làm việc cá nhân cũng như làm việc nhóm sao cho hiệu quả

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

w