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

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

Đ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

Đ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[.]

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 Kiệt Thực tập sinh : Đặng Duy Bằng Mã số sinh viên : 19521234 TP Hồ Chí Minh, tháng 12 năm 2022 Đinh Gia Kiệt Đặng Duy Bằng - 19521234 LỜI MỞ ĐẦU Thời đại công nghệ Internet bùng nổ giúp cho thiết bị di động đà phát triển “vũ bão” Điều tạo môi trường thuận lợi cho phát triển rầm rộ ứng dụng di động Những ứng dụng di động quen thuộc mà bạn sử dụng hàng ngày Facebook, Instagram, Grab, tạo Mobile Developer hay hiểu đơn giản nhà phát triển ứng dụng di động Và ngày nay, cơng việc lập trình máy tính khơng cịn q xa lạ theo đuổi làm việc ngành IT Tuy nhiên, cơng việc lập trình cho điện thoại di động bước phát triển với tiến mạnh mẽ Sau bốn năm học tập trường, mong muốn có thêm kinh nghiệm, muốn tham gia vào dự án thực tế môi trường chuyên nghiệp, đem lại trãi nghiệm đường chinh phục tương lai em Em chọn công ty Vitalify Asia làm bước khởi đầu cho hành trình trở thành Mobile Developer Đinh Gia Kiệt Đặng Duy Bằng - 19521234 LỜI CẢM ƠN Trân trọng gửi lời cảm ơn đến công ty Vitalify Asia tạo hội để em tham gia vào môi trường làm việc quốc tế chuyên nghiệp Trong thời gian ngắn đồng hành công ty anh chị team trainer giúp em hiểu thêm công việc lĩnh vực, tích luỹ kinh nghiệm áp dụng kiến thức học vào thực tiễn Cảm ơn thời gian quý báu anh chị chia training giúp em tìm hướng đường nghiệp thân Lời 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 khoa Cơng nghệ phần mềm nói riêng tạo hội để tụi em học hỏi trao dồi kĩ cần thiết kiến thức trước bước vào đường làm việc đồng hành em để hoàn thành 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 Đinh Gia Kiệt Đặng Duy Bằng - 19521234 NHẬN XÉT CỦA KHOA Đinh Gia Kiệt Đặng Duy Bằng - 19521234 MỤC LỤC LỜI MỞ ĐẦU .1 LỜI CẢM ƠN .2 NHẬN XÉT CỦA KHOA MỤC LỤC CHƯƠNG GIỚI THIỆU CÔNG TY THỰC TẬP .6 1.1 - GIỚI THIỆU VỀ CÔNG TY TNHH VITALIFY ASIA 1.2 - MÔI TRƯỜNG, VĂN HOÁ CON NGƯỜI VÀ KINH NGHIỆM LÀM VIỆC 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 1.5 - SƠ ĐỒ THỰC HIỆN VÀ PHÁT TRIỂN DỰ ÁN .8 CHƯƠNG 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 2.2 - TÌM HIỂU NGHIÊN CỨU CƠNG NGHỆ VÀ CẤU TRÚC DỰ ÁN 2.3 - THAM GIA DỰ ÁN 10 2.4 - Q TRÌNH THỰC TẬP VÀ THỰC HIỆN CƠNG VIỆC .10 CHƯƠNG TỔNG KẾT 15 Đinh Gia Kiệt Đặng Duy Bằng - 19521234 DANH MỤC TỪ VIẾT TẮT BPM Bridge Project Manager Dev Developer Dev Leader Developer Leader PM Project Manager IDE Integrated Development Environment PR Pull Request Đinh Gia Kiệt Đặng Duy Bằng - 19521234 Chương Giới thiệu công ty thực tập 1.1 Giới thiệu Công ty TNHH Vitalify Asia Vitalify Asia công ty phát triển offshore Nhật Bản thành lập vào năm 2008, phát triển ứng dụng, phần mềm có trụ sở Tokyo Vitalify Asia mạnh phát triển dịch vụ hướng người dùng phát triển cho thiết bị thông minh Với 90% khách hàng công ty Nhật Bản, thành viên Vitalify ln có hội tham gia vào dịch vụ CNTT Nhật Bản Hiện diện Việt Nam, với nỗ lực không ngừng, Vitalify góp phần nâng cao lực nhân IT Là thành viên thức trực thuộc phận IT Hiệp hội doanh nghiệp Nhật Bản Hồ Chí Minh, Vitalify đem đến cho khách hà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 hố người kinh nghiệm làm việc Với đội ngũ kỹ sư có gần 100 người, Vitalify Asia tạo môi trường làm việc quốc tế thân thiện với chuyên gia Nhật Bản gần gũi, hoà đồng đồng nghiệp chân thành cởi mở 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 phát huy lực thân Về kinh nghiệm làm việc, công ty có: − − − − − − − − năm kinh nghiệm lĩnh vực điện thoại thông minh Việt Nam Văn phịng cơng ty France Villa Có 100 kỹ sư Việt Nam nhân viên người Nhật thành phố Hồ Chí Minh 30 nhân viên Nhật Bản Tokyo, Nhật Bản 17 nhân viên người Việt Nam Tokyo, Nhật Bản Đã phát triể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 dự án công ty − Outsource nhiều ngơn ngữ lập trình framework (Nodejs, Javasript, Php, Ruby, Java, Python, Swift, Kotlin , Flutter, React-Native, ReactJS, VueJS,…) − Phát triển Game Unity − Phát triển sản phẩm liên quan đến AI Đinh Gia Kiệt Đặng Duy Bằng - 19521234 1.4 Quy trình làm việc công ty Rules Note Sprint length đến tuần phụ thuộc vào dự án Sprint start time Thứ hai 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 ngày làm việc Thời gian linh hoạt sau hoàn thành giai Sprint retrospective đoạn Internal weekly meeting Code review Sprint review Sprint retrospective Estimate schedule for next sprint 1.5 Quy trình nhận task thực developer BPM − BPM tạo ticket cho Dev với trạng thái ban đầu “Open” − Dev nhận ticket, điền thời gian ước tính cần thiết để hoàn thành chuyển task từ “Open” sang “In Progress” để bắt đầu công việc − Sau thực hiện xong, Dev tạo PR (nếu có) viết mô tả đẩy đủ bao gồm (vấn đề, nguyên nhân, giải pháp) sau chuyển ticket trạng thái “Wait for review” cho Dev Leader − Dev assign thành viên team Dev lại vào review ticket − Sau Dev Leader review xong chuyển trạng thái ticket “In Testing” cho BPM để kiểm tra test − Nếu khơng cịn vấn đề nữa, BPM chuyển ticket trạng thái “Resolved”, sau “Closed” ticket Đinh Gia Kiệt Đặng Duy Bằng - 19521234 1.6 Sơ đồ thực phát triển dự án Đinh Gia Kiệt Đặng Duy Bằng - 19521234 Chương Nội dung thực tập 2.1 Tìm hiểu vị trí, vai trị kỹ công ty − PM (Project Manager): Project Manager hay gọi tắt PM, người công ty định giao nhiệm vụ quản lý dự án, chịu trách nhiệm lên kế hoạch, triển khai cho dự án hồn thành mục tiêu ban đầu Sau uỷ quyền cho team quản lý quy trình làm việc BPM − BPM (Bridge Project Manager): Là người thay mặt PM quản lý quy trình làm việc team dev, người trực tiếp trao đổi với khách hàng để hiểu rõ dự án, nắm bắt thông tin yêu cầu dự án, sau làm tài liệu đặc tả chi tiết tổ chức họp phân chia công việc cho thành viên team dev − Dev Leader (Developer Leader): Là người chịu trách nhiệm quản lý source code mà merge code sau thành viên team dev hồn thành cơng việc, ngồi thành viên cịn lại review để người nắm rõ cấu trúc source code dự án − Dev (Developer): team dev có từ từ thành viên dựa tài liệu đặc tả tạo thực nhiệm vụ BPM giao phó 2.2 Tìm hiểu nghiên cứu cơng nghệ cấu trúc dự án 2.2.1 Atomic Design Atomic Design Một phương pháp thiết kế giao diện mà Designer ưu tiên thực thiết kế thành phần riêng lẻ kết hợp chúng lại với nhau, thay thiết kế trang Trong Atomic Design: giao diện chia thành phần: − − − − − Atoms Molecules Organisms Templates Pages 2.2.2 TypeScript TypeScript dự án mã nguồn mở phát triển Microsoft, xem phiên nâng cao JavaScript Vì bổ sung tùy chọn kiểu tĩnh lớp hướng đối tượng, bao hàm ECMAScript 2015 (ES6) TypeScript thừa hưởng cú pháp JavaScript, lập trình viên tiếp cận dễ dàng có kiến thức JavaScript Ưu điểm: − − − − − − Là mã nguồn mở, Dễ dàng phát triển dự án lớn, Hỗ trợ tính 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: Đinh Gia Kiệt Đặng Duy Bằng - 19521234 10 − Mã cồng kềnh, − Thêm bước bổ sung, biên dịch, − Có thêm cú pháp riêng 2.2.3 React Native React Native phát triển Facebook với mục đính ban đầu áp dụng vào mạng xã hội lớn hành tinh: Facebook Do đặc tính cơng nghệ mạng xã hội, Facebook cần phải tạo tảng phát triển ứng dụng di động đa tảng có hiệu khơng thua so với ứng dụng phát triển độc lập cho tảng React Native hỗ trợ phát triển ứng dụng di động hệ điều hành Android iOS, so với Ionic (Android, iOS, Windows Phone) React Native tạo ứng dụng native hybrid app ionic, Với 100% Native UI, React Native tạo nên “mượt mà” việc render UI xóa nhịa khoảng cách hiệu ứng dụng đa tảng so với ứng dụng độc lập tảng 2.3 Tham gia dự án Tháng training quy tình làm việc cơng ty, giới thiệu team dự án, rule làm việc cơng ty, ngồi traning cơng nghệ mà dự án thực để nắm rõ tổng quan dự án, tham gia đọc tìm hiểu cấu trúc soure code để làm quen với quy trình cách thức tổ chức công việc Từ tháng thứ hai trở đi, bắt đầu nhận task liên quan đến dự án thực tế, tham gia họp tvà thảo luận với team để đưa giải pháp phù hợp phia chia công việc phù hợp với lực Chi tiết trình thực nêu rõ phần sau 2.4 Quá trình thực tập thực công việc Giai đoạn (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 cách làm việc cơng ty - Ngơn ngữ lập trình: Typescript, Javascript IDE: Visual code Framework: React Native Date Description Problem 25/07/2022 (Mon) Get to know the members Clone source code run emulator Buld failed on emulator Run on devices [USER DETAIL] [CONTACT] Build draft UI Clone project error 26/07/2022 (Tue) None 27/07/2022 (Wed) Start first task: [USER DETAIL] [CONTACT] Build draft UI Table Learn about source code , structure Đinh Gia Kiệt Đặng Duy Bằng - 19521234 11 app Learn atomic design, Mobx, Query from database 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 29/07/2022 (Fri) Adjust UI User Contact Screen Load data from local data to User contact table: doing Code unclear, lengthy None 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 Load data header info user contact: Done None Handle optimal code: Done 3/08/2022 (Wed) 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 Đinh Gia Kiệt Đặng Duy Bằng - 19521234 12 Test case (Check in, Check out, leave note, signature) None 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 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 None 17/08/2022 (Wed) Handle loading show staffmodel in loginscreenbyusernamescreen Create common modal component Build and test on android device Fix conflict 18/08/2022 (Thu) Handle navigate to user contact from ShiftInfo (65%) Fix padding UserListScreen and VPSelectUserScreen Disappear when load data after new query None 19/08/2022 (Fri) Handle navigato user contact fro shiftInfo: Done Fix color and pading UI Fix conflict Modal coponent 22/08/2022 (Mon) Estimate phase None 23/08/2022 (Tue) Adjust persistentScrollbar visible in table ShowlLoading when no data Đinh Gia Kiệt Đặng Duy Bằng - 19521234 13 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 (08/20222 -> 09/2022): Học công nghệ mới, ngôn ngữ mới, đánh giá khả học hỏi, tốc độ tiếp thu kiến thức - Ngôn ngữ lập trình: Objective-C IDE: Xcode Date 25/08/2022 – 02/09/2022 Description Implementing Views − − − − − − − 05/09/2022 – 16/09/2022 Implementing Controllers − − − − − − − − − 19/09/2022 – 23/09/2022 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 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 Creating Dynamic and Interactive User Interfaces − Adding Gravity to Your UI Components Đinh Gia Kiệt Đặng Duy Bằng - 19521234 14 − 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 (09/20222 -> 10/2022): Chuyển qua dự án để hỗ trợ người phát triển, maintain ứng dụng di động, tiếp tục thực tasks giao theo yêu cầu dự án Đinh Gia Kiệt Đặng Duy Bằng - 19521234 15 Chương Tổng kết Như vậy, kết thúc tháng thực tập công ty, lời 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 hội để tụi em có hội để tiếp cận với giới bên ngoài, tham gia vào dự án thực tế, biết lực đam mê thân giúp em có thêm kinh nghiệm hành trình nghiệp Ngồi ra, em muốn dành lời cảm ơn công ty Vitalify Asia tạo điều kiện cho em bạn trang lứa có mơi trường thực tập thật tốt, cảm ơn giúp đỡ anh chị team trainer dành thời gian quý báu để nâng đỡ đàn em, giúp em hiểu quy trình làm việc, cách làm việc cá nhân làm việc nhóm cho hiệu Đinh Gia Kiệt Đặng Duy Bằng - 19521234 ... quan đến dự án thực tế, tham gia họp tvà thảo luận với team để đưa giải pháp phù hợp phia chia công việc phù hợp với lực Chi tiết trình thực nêu rõ phần sau 2.4 Q trình thực tập thực cơng việc... trao dồi kĩ cần thiết kiến thức trước bước vào đường làm việc đồng hành em để hoàn thành 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... CỨU CÔNG NGHỆ VÀ CẤU TRÚC DỰ ÁN 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 TỔNG KẾT 15 Đinh Gia Kiệt Đặng Duy Bằng -

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan