báo cáo thực tập mobile

31 0 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo thực tập mobile

Đ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

Trang 1

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

MOBILE DEVELOPER

Công ty thực tập:CÔNG TY CỔ PHẦN GEEK UP

TP Hồ Chí Minh, tháng 12 năm 2023

Trang 2

LỜI MỞ ĐẦU

Trong bối cảnh cách mạng công nghiệp 4.0, công nghệ thông tin nói chung và lĩnhvực phần mềm nói riêng đóng vai trò then chốt trong sự phát triển của xã hội Thế kỷ21 chứng kiến phát triển mạnh mẽ và phổ biến của các thiết bị di động từ đó tạo tiềnđề để mảng phát triển ứng dụng di động ngày càng đóng một vai trò quan trọng trongđời sống của mọi người Với số lượng ứng dụng trên các cửa hàng ứng dụng (PlayStore, App Store) đã lên hàng chục triệu ứng dụng, do đó nhu cầu cho lĩnh vực nàychưa có dấu hiệu giảm.

Để một ứng dụng di động thu hút và đáp ứng tốt cho người dùng, phần giao diện vàhiệu năng đều phải được chú ý đặc biệt Việc làm thế nào để sản phẩm đáp ứng đồngthời hai yếu tố quan trọng này luôn là thách thức đối với bất kỳ nhóm phát triển ứngdụng di động nào Để đối mặt với những thách thức này và thăng tiến trong lĩnh vựcphát triển ứng dụng di động, em đã chọn hướng nghiệp Mobile Developer làm địnhhướng cho sự học tập và sự nghiệp trong tương lai.

Sau những năm học tập tại trường đại học, với mong muốn áp dụng kiến thức đã nắmbắt và có trải nghiệm thực tế, em đã tham gia vào môi trường chuyên nghiệp và lýtưởng tại công ty GEEK Up - nơi em hy vọng sẽ có cơ hội thực hiện những dự địnhcủa mình trong lĩnh vực phát triển ứng dụng di động.

Trang 3

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn tới công ty GEEK Up đã tạo điều kiện cho em cơ hộiđược thực tập tại công ty Dù trong thời gian ngắn nhưng nhờ sự chỉ dẫn nhiệt tình củaanh Đoàn Anh Tuấn, em đã tiếp thu những kiến thức quan trọng để có thể tham giamột dự án thực tế

Chân thành cảm ơn Đoàn Anh Tuấn và các anh chị trong team Mobile đã bỏ ra nhiềuthời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình trong khi làm quenmôi trường mới cũng như trong việc tiếp cận kiến thức công nghệ, kỹ năng lập trìnhvà tư duy sản phẩm để có thể thực hiện tốt dự án cá nhân và dự án thực tế trong thờigian qua

Em 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áo cáo này

TP HCM, ngày 25 tháng 12 năm 2023

Trang 5

MỤC LỤC

LỜI MỞ ĐẦU 2

LỜI CẢM ƠN 3

MỤC LỤC 5

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

1.1 Giới thiệu về công ty GEEK Up 7

1.2 Sản phẩm công ty 8

1.3 Lịch làm việc khi thực tập tại công ty 10

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

2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 12

2.2 Nghiên cứu kỹ thuật 13

2.2.1 Tìm hiểu Agile và Scrum 13

Trang 6

DANH MỤC HÌNH

Hình 1.1 Logo công ty GEEK Up 7

Hình 1.2 Logo của Funding Societies 9

Hình 2.1 Hình minh họa quy trình trong Agile 13

Hình 2.2 Hình minh họa Scrum 14

Hình 2.3 Logo Android Studio 16

Hình 2.4 Logo Gitlab 17

Hình 2.5 Logo Flutter 20

Hình 2.6 Logo GetX 22

Hình 2.7 Sơ đồ Clean Architecture trong dự án Mobile 24

Hình 2.8 Logo App Alia 25

DANH MỤC BẢNGBảng 3.1 Những tiêu chuẩn đạt được 30

Trang 7

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP1.1 Giới thiệu về công ty GEEK Up

Hình 1.1 Logo công ty GEEK Up

- Tên công ty: Công ty Cổ phẩn Công nghệ GEEK Up (GEEK UPTECHNOLOGY JSC).

- Lĩnh vực hoạt động: Phần mềm.- Địa chỉ:

o Văn phòng: 244/31 Huỳnh Văn Bánh, Phường 11, Quận Phú Nhuận,TP.HCM.

o Chi nhánh: 27B/9 Nguyễn Đình Chiểu, Phường Đa Kao, Quận 1,TP.HCM.

- Thời gian làm việc: Thứ 2 đến thứ 6 (8h30 – 17h30)- Slogan: “Insightful development”.

- Sứ mệnh: Xây dựng các sản phẩm phần mềm mang lại nhiều giá trị cho ngườidùng.

Trang 8

o Stay Hungry Stay Foolish: Không dừng lại với khả năng hiện tại, luôntiếp tục trau dồi và học hỏi.

- GEEK Up được thành lập bởi các kỹ sư lập trình và chuyên viên thiết kế đammê phát triển sản phẩm phần mềm Mục tiêu ban đầu của GEEK Up cực kỳđơn giản: trở thành môi trường lý tưởng để phát triển các sản phẩm tuyệt vời - Sau hơn 8 năm, với thế mạnh chuyên môn trong tất cả các khía cạnh của phát

triển sản phẩm phần mềm, GEEK Up quy tụ hơn 80 tài năng, cùng nhau pháttriển và cho ra đời hơn 180 products chất lượng cho các doanh nghiệp khắp nơitrên thế giới

- GEEK Up đã và đang trở thành một đối tác uy tín, một lựa chọn đáng tin cậy từnhiều khách hàng lớn trong và ngoài nuosc, như TPBank, SSI, Viettel,Henieken, The Coffee House, ELSA, Wall Street English, Le & Associates,Mobifone, VietCapital Bank, cungmua.com, Action Aid, và khách hàng nướcngoài như SMRT (Singapore), Hitachi (Nhật Bản), NordLevel (Đức),KerryTTC (Thái Lan), Giinger Group (Singapore)

- Trong quá trình phát triển sản phẩm, GEEK Up áp dụng những công nghệ hiệnđại và thịnh hành nhất hiện nay như: Flutter, React Native, ReactJS, NodeJS,NestJS, Docker, Amazon Web Service,

- Với tư duy tạo ra sản phẩm mang lại giá trị cho người dùng và ứng dụngphương pháp Agile chuẩn quốc tế, GEEK Up đã phần nào chứng minh rằng: tàinăng Việt Nam hoàn toàn có thể tạo ra những phần mềm đạt tiêu chuẩn toàncầu.

Trang 9

o Tư vấn giải pháp sản phẩm số: Từ sự thấu hiển tâm tư, nguyện vọng củadoanh nghiệp, GEEK Up đề xuất các giải pháp sản phẩm số để phục vụđược nhu cầu người dùng và đạt được mục tiêu đề ra cho sản phẩm o Nghiên cứu và thiết kế trải nghiệm người dùng: Thấu hiểu suy nghĩ và

hành vi người dùng mục tiêu Đề xuất giải pháp thiết kế không chỉ giảiquyết nhu cầu người dùng mà còn phù hợp mục tiêu kinh doanh và ýtưởng sản phẩm

o Thiết kế giao diện và tương tác người dùng: Nắm bắt nhận diện thươnghiệu và ngôn ngữ của doanh nghiệp để đưa ra các đề xuất thiết kế phùhợp cho sản phẩm Đảm bảo yếu tố thương hiệu cho doanh nghiệp cũngnhư sự phù hợp cho đối tượng người dùng nhắm đến của sản phẩm o Thiết kế và triển khai kiến trúc, hạ tầng hệ thống: Kết hợp với chuyên

môn, kinh nghiệm và sự thấu hiểu về các giải pháp kỹ thuật để tư vấn,thiết kế và triển khai kiến trúc hệ thống tối ưu nhất

o Hiện thực hóa sản phẩm số: Xây dựng sản phẩm dựa trên phương pháptiếp cận tối ưu nhằm đồng thời 3 mục tiêu: ý tưởng, tính năng và thiếtkế

o Vận hành sản phẩm số: Khởi chạy, vận hành và giám sát hiệu suất sảnphẩm Đảm bảo mục tiêu kinh doanh, thu thập dữ liệu để cải tiến trongtương lai

o Tối ưu hóa sản phẩm số: So sánh các giả định của giải pháp sản phẩmvới thực tế vận hành Điều chỉnh, phát triển giải pháp sản phẩm phù hợpvới thực trạng và bài toán doanh nghiệp

- GEEK Up đã và đang là đối tác của các doanh nghiệp, công ty từ nhỏ đến lớn,trong và kể cả ngoài nước, có thể kể đến như:

Trang 10

Hình 1.2 Logo của Funding Societies

o Funding Societies (Indonesia): Được thành lập năm 2015,FundingSocieties là nền tảng tài chính số có sứ mệnh kết nối nhà đầu tưvới các doanh nghiệp vừa và nhỏ có nhu cầu vay vốn dưới 1 triệu USD.Khi Funding Societies tìm đến giải pháp công nghệ để tăng cường tínhhiệu quả trong hoạt động vận hành trong cuộc cách mạng 4.0 đã gặpnhiều vấn đề Tháng 7/2019, Funding Societies quyết định hợp tác vớiGEEK Up để cải thiện những bất cập trong hệ thống vận hành của mình.

Hình 1.3 Logo TPBank

o TPBank (Vietnam): Vào năm 2018, nhóm giải pháp tài chính số củaTPBank đã phát triển 15 ứng dụng hoạt động đơn lẻ phục vụ nhiều mụctiêu tài chính của những nhóm người khác nhau Tuy nhiên, sự thiếuđồng bộ, nhất quán giữa các ứng dụng đã cản trở người dùng tận hưởng

Trang 11

giá trị của hệ sinh thái ứng dụng TPBank Với mục tiêu khắc phụcnhược điểm đó, TPBank đã bắt tay với GEEK Up để tạo ra trải nghiệmđồng nhất trên hệ sinh thái ứng dụng của mình thông qua hệ thống quychuẩn thiết kế chung.

1.3 Lịch làm việc khi thực tập tại công ty

- Em tham gia làm việc tại công ty bắt đầu từ ngày 12/06/2023 tới 18/08/2023,các ngày làm việc trong tuần là Thứ Hai, Thứ Ba, Thứ Tư, Thứ Năm, Thứ Sáu.Công việc hằng ngày bắt đầu từ lúc 8 giờ 30 đến 17 giờ 30 Thời gian nghỉ trưakhoảng 2 tiếng Sau mỗi ngày làm việc em sẽ báo cáo tiến độ công việc trongngày, đặt câu hỏi và nhận chia sẻ, giải đáp từ anh hướng dẫn, đặt mục tiêu chongày làm việc tiếp theo Mỗi ngày, Team sẽ dành 15 phút đầu ngày để DailyMeeting cùng với anh Mentor để nắm bắt các công việc đã thực hiện trongngày hôm trước, bàn bạc và các vấn đề còn tồng đọng và lên kế hoạch côngviệc cho ngày hôm nay Cuối mỗi 2 tuần sẽ kết thúc một Iteration, Team sẽ cómột buổi để đánh giá lại quy trình, các thức làm việc của mỗi thành viên trongsuốt 2 tuần qua và lên kế hoạch cho Iteration tiếp theo Mỗi thứ 6 hàng tuần,công ty đều tổ chức các buổi Workshop để các thành viên trong công ty có thểtrao đổi các kỹ năng mềm không chỉ trong công việc mà còn trong cuộc sốnghằng ngày.

Trang 12

CHƯƠNG 2: NỘI DUNG THỰC TẬP2.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: Ngày đầu tiên, khi bắt đầu làm việc, thực tập sinh (GI – GEEK Intern) đượcgiới thiệu khái quát về doanh nghiệp, hướng dẫn làm quen với môi trường, cách thứclàm việc tại doanh nghiệp thông qua các hoạt động khác nhau.

- Welcome Session: Để có khởi đầu thuận lợi tại công ty, thực tập sinh sẽ thựchiện các hoạt động chào mừng Trước hết, các bạn thực tập sinh sẽ nói lời chàovà làm quen với nhau Sau đó, định hình được mục tiêu và những việc cần làmtrong thời gian thực tập sinh khi được các anh chị trình bày.

- GEEK Up Introduction: Việc giới thiệu là rất cần thiết để các bạn thực tập sinhbiết được mục tiêu phấn đấu Doanh nghiệp sẽ hướng dẫn, giúp đỡ để thực tậpsinh hiểu sâu hơn về nghiệp vụ tại GEEK Up lẫn hành trình thực tập tại doanhnghiệp Thực tập sinh đưa ra những câu hỏi và được phía GEEK Acquisition hỗtrợ.

- Documents Meeting with People Operations: Gặp bộ phận GEEK People đểhiểu về những văn bản pháp lý ở công ty như NDA (Non-disclosureAgreement) – Thoả thuận bảo mật, NCA (Non-compete agree-ment) – Thoảthuận không cạnh tranh, chống xung đột lợi ích.

- Tools – GUA (GEEK Up Architecture) & Set up: Cài đặt một số ứng dụng nộibộ của doanh nghiệp để thuận tiện cho việc kết nối thành viên, giám sát quytrình làm việc, cam kết làm việc, tài liệu tham khảo và lưu trữ mã nguồn.

- Self-management Seminar: Anh chị trong doanh nghiệp hướng dẫn thực tậpsinh về một số cách, mẹo để quản trị bản thân kết hợp với việc sử dụng hệthống phần mềm của công ty (OTable – sản phẩm phần mềm thuộc bản quyềncủa GEEK Up).

- Catch up 1st day: Tổng hợp những điều đã học và được giới thiệu trong buổi.Kết quả:

Trang 13

- Hiểu thêm về công ty GEEK Up, quá trình thành lập và phát triển của doanhnghiệp.

- Em cũng hiểu thêm cách thức làm việc, văn hoá công ty, mục tiêu, cách đánhgiá trong suốt khoảng thời gian thực tập sắp tới và được làm quen với các bạnthực tập sinh sẽ đồng hành trong thời gian sắp tới

- Em cũng nắm bắt được các công cụ sẽ sử dụng để hỗ trợ trong quá trình làmviệc như quản lý dự án, quản lý thời gian,… và các nguyên tắc, các hợp đồngpháp lý như cam kết bảo mật,… cần được đảm bảo trong thời gian sắp tới.

2.2 Nghiên cứu kỹ thuật

2.2.1 Tìm hiểu Agile và Scrum

Thời gian: 0.5 ngày và quá trình thực hành diễn ra trong suốt quá trình thực tậpNội dung

- Trước khi bắt đầu làm dự án, các bạn thực tập sinh được anh chị trong công tygiới thiệu về Agile và Scrum Các anh, chị lần lượt trình bày lịch sử hình thành,Agile giải quyết vấn đề gì, các kiến thức cơ bản trong Agile Đồng thời, anh chịcũng lấy những ví dụ về cách mà công ty đang áp dụng Agile để quản lý dự ánnhư thế nào.

Hình 2.3 Hình minh họa quy trình trong Agile

- Về khái niệm, Agile (viết tắt của Agile Software Development) có nghĩa là

Trang 14

phát triển phần mềm với mục tiêu là đưa sản phẩm đến người tiêu dùng càngnhanh càng tốt Agile không phải là phương pháp mà là một phương pháp luận,triết lý dựa trên nguyên tắc phân đoạn vòng lặp và tăng trưởng.

- Agile ngày nay đã trở nên rất phổ biến, không chỉ được ứng dụng trong ngànhcông nghiệp phần mềm mà còn nhiều lĩnh vực khác như dịch vụ, Sale,Marketing…

Hình 2.4 Hình minh họa Scrum

- Scrum là một phương pháp Agile dùng cho phát triển sản phẩm, đặc biệt làmảng phát triển phần mềm Scrum được áp dụng rộng rãi từ những dự án đơngiản tới phức tạp Ba trụ cột của Scrum là tính minh bạch, sự thanh tra và sựthích nghi, việc thiếu một trong ba trụ cột sẽ khiến Scrum không hoạt độngđúng nữa.

- Một số khái niệm quan trọng trong Scrum:o Scrum Roles:

 Scrum master: Người có kiến thức và am hiểu về agile-scrum, cóvai trò điều phối các hoạt động phát triển sản phẩm theo mô hìnhagile của team.

Trang 15

 Product owner: Là cầu nối giữa khách hàng và teamsdevelopment Nắm rõ yêu cầu của khách hàng, quản lý hoạchđịnh product backlog cho team.

o Scrum artifacts:

 Product Backlog: Product Owner sẽ lập danh sách các công việccần hoàn thành, và họ sẽ sắp xếp nó theo thứ tự ưu tiên Họ làmđiều này bằng cách xác định đâu là mục bắt buộc phải có, mụcnào ít quan trọng hơn và mục nào không phù hợp với khung thờigian được phân bổ.

 Sprint Backlog: Sprint backlog có thể được định nghĩa đơn giảnlà tập hợp các yêu cầu của người dùng trong đó nhóm scrum sẽlàm việc trong một sprint Điều quan trọng là phải đảm bảo rằngnhững yêu cầu quan trọng nhất của người dùng luôn là những yêucầu đang được xử lý và không có yêu cầu nào bị bỏ qua.

 Product increment: Thuật ngữ phần tăng sản phẩm đề cập đến tấtcả các mục tồn đọng của sản phẩm đã được hoàn thành trong mộtsprint và nó cũng có thể được sử dụng để mô tả tổng của tất cảcác mục tồn đọng đã hoàn thành.

o Scrum evenets: Daily Scrum Sprint review Sprint retrospective- Agile ở GEEK Up

o Sprint Planning (Họp Kế hoạch Sprint- Iteration): Nhóm phát triển gặpgỡ với Product Owner để lên kế hoạch làm việc cho một Sprint (xemthêm phần Sprint bên dưới) Công việc lập kế hoạch bao gồm việc chọnlựa các yêu cầu cần phải phát triển, phân tích và nhận biết các công việcphải làm kèm theo các ước lượng thời gian cần thiết để hoàn tất các tácvụ Chia nhỏ công việc thành các backlog (task) để có thể theo dõi tiếnđộ dự án dễ dàng hơn Scrum sử dụng cách thức lập kế hoạch từng phần

Trang 16

nhất một lần trong vòng đời của dự án mà được lặp đi lặp lại, có sự thíchnghi với các tình hình thực tiễn trong tiến trình đi đến sản phẩm.

o Daily Scrum (Họp Scrum hằng ngày): Scrum Master tổ chức cho Độisản xuất họp hằng ngày trong khoảng 15 phút để Nhóm Phát triển chiasẻ tiến độ công việc cũng như chia sẻ các khó khăn gặp phải trong quátrình phát triển phần mềm suốt một Sprint.

o Sprint Review (Họp Sơ kết Sprint): Cuối Sprint, nhóm phát triển cùngvới Product Owner sẽ rà soát lại các công việc đã hoàn tất (DONE)trong Sprint vừa qua và đề xuất các chỉnh sửa hoặc thay đổi cần thiếtcho sản phẩm.

o Sprint Retrospective (Họp Cải tiến Sprint): Dưới sự trợ giúp của ScrumMaster, nhóm phát triển sẽ rà soát lại toàn diện Sprint vừa kết thúc vàtìm cách cải tiến quy trình làm việc cũng như bản thân sản phẩm.

Trang 17

- Để tạo sự thống nhất giữa các thành viên trong Team, Mentor và các thực tậpsinh thống nhất sẽ sử dụng Android Studio trong suốt quá trình thực hiện dựán.

- Mentor yêu cầu các thực tập sinh cần cài đặt một số cài đặt liên quan đến quytắc khi làm việc với Android Studio như: một dòng có tối đa 80 ký tự, mặcđịnh dùng “” thay vì ‘’ cho String… Ngoài ra các thực tập sinh cần nắm bắt cáckỹ thuật Debug, đặt Breakpoint khi Debug để phát hiện lỗi nhanh hơn.

Hình 2.6 Logo Gitlab

- Gitlab là Source Code Control mà công ty hiện tại đang xài, khi các thực tậpsinh tham gia công ty cũng sẽ được công ty tạo cho những tài khoản Gitlab đểsử dụng Do đó, việc biết cách sử dụng Gitlab cũng là việc cần thiết, ngoài raMentor cũng giải thích về các nguyên tắt đặt tên Commit, Branch, MergeRequest.

Kết quả:

- Nắm và biết cách sử dụng các công cụ khi thực hiện dự án.

- Biết thêm các nguyên tắc khi Commit, tạo Merge Request và đặt tên Branch.Ngoài ra, em còn biết thêm một số lệnh Git hữu ích phục vụ cho việc thực hiệndự án.

2.2.3 Tìm hiểu Product MobileThời gian: 1 ngày

Ngày đăng: 15/05/2024, 09:10

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

  • Đang cập nhật ...

Tài liệu liên quan