Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
1,7 MB
Nội dung
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 LẬP TRÌNH ỨNG DỤNG DI ĐỘNG VỚI FLUTTER Cơng ty thực tập: Vitalify Asia Người phụ trách: Nguyễn Thị Nhi (BPM) Thực tập sinh: Nguyễn Dương Tùng Thành phố Hồ Chí Minh, 08/08/2022 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm NỘI DUNG LỜI CẢM ƠN NHẬN XÉT CỦA KHOA A CHƯƠNG 1: Giới thiệu công ty thực tập Giới thiệu chung Sản phẩm & dịch vụ công ty B CHƯƠNG 2: Nội dung thực tập Tìm hiểu công ty kỹ công ty .8 Nghiên cứu kỹ thuật Tìm hiểu tập huấn quy trình làm việc, kiến thức 3.1 Các cơng cụ quy trình làm việc 3.2 Tìm hiểu Framework Flutter 3.3 Tìm hiểu Firebase .11 C CHƯƠNG 3: Thực dự án 13 Thực dự án 13 Lịch làm việc 13 D CHƯƠNG 4: Chi tiết dự án 16 Giới thiệu 16 Thực 18 Kế hoạch .18 3.1 Giai đoạn 18 3.2 Giai đoạn 19 3.3 Giai đoạn 19 TỔNG KẾT .20 DANH MỤC TÀI LIỆU THAM KHẢO 21 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm LỜI MỞ ĐẦU Việt Nam năm qua phát triển mạnh mẽ khoa học, kỹ thuật đặt biệt cơng nghệ thơng tin, nhờ sách cởi mở, thúc đẩy phát triển, số hoá đại hoá Ví dụ điển hình gần ứng dụng kiểm soát hỗ trợ người dân chống dịch đại dịch Covid 19 góp phần khơng nhỏ vào thành công đẩy lùi dịch bệnh Với xu phát triển ứng dụng thiết bị di động, sách thúc đẩy phát triển ứng dụng công nghệ cao Những công ty phát triển phần mềm với sứ mệnh tạo sản phẩm trí tuệ Việt – “made in Vietnam” ngày trọng tạo điều kiện phát triển em cho xu tương lai Vì lý này, em định chọn lập trình ứng dụng di động làm định hướng học tập, phát triển nghiệp sau Sau khoảng thời gian học tập trường, mong muốn có thêm kinh nghiệm thực tế, tham gia vào môi trường phát triển phần mềm chuyên nghiệp, em định chọn Vitalify Asia – công ty có tảng đa quốc gia, chuyên nghiệp cởi mở để làm tảng đường nghiệp Trân trọng cảm ơn, chúc sức khoẻ Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm LỜI CẢM ƠN Trân trọng gửi lời cảm ơn đến Công ty Vitalify Asia tạo điều kiện cho em đảm nhận vai trò thực tập sinh team Flutter, học hỏi phát triển kỹ thực tế Dù khoảng thời gian thực tập ngắn, nhờ hướng dẫn nhiệt tình chị Nguyễn Thị Nhi (BPM) anh Huỳnh Văn Trận (Dev Lead Team), em có kiến thức quan trọng quy trình làm việc thực tế, kiến thức chuyên môn lập trình ứng dụng đa tảng với Flutter Đồng thời, trân trọng cảm ơn thầy cô khoa Công nghệ phần mềm nhiệt tình hỗ trợ, tạo điều để em thực báo cáo Nguyễn Dương Tùng – 20/08/2022 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm NHẬN XÉT CỦA KHOA Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm A CHƯƠNG 1: Giới thiệu công ty thực tập Giới thiệu chung Tên công ty: Vitalify Á Châu (Vitalify Asia) Địa chỉ: 224A Điện Biên Phủ, Phường 6, Quận 3, Thành phố Hồ Chí Minh Trang web: https://www.vitalify.asia/ Điện thoại: 028 3932 6293 Vitalyfy Asia thành lập vào năm 2008, công ty outsourcing tập trung vào mảng phát triển phần mềm ứng dụng di động với sứ mạng “đưa giá trị hạnh phúc thơng qua internet” Vitalify Asia có mục tiêu trở thành cơng ty chun nghiệp đảm nhận dự án mang tầm vóc quốc tế Chính sách phát triển cơng ty là: nhân từ kỹ sư, quản lý,… có trách nhiệm mở rộng vai trị phạm vi cơng việc, tinh thần trách nhiệm thân để mang lại giá trị cho người dùng với cấu trúc tổ chức phân thành nhóm nhỏ ưu tú Sau 10 năm thành lập, Vitalify Asia bước vào giai đoạn thử thách nhằm nâng cao giá trị kỹ thuật công ty Việt Nam Mục tiêu tạo sản phẩm “made in Vietnam” tiêu chuẩn quốc tế Sản phẩm & dịch vụ công ty Vitalify Asia nhận gia công phát triển web ứng dụng di động cho phù hợp với yêu cầu tơt chức doanh nghiệp Đội nhóm Vitalify Asia có tính chất đa quốc gia, hoạt động từ xa, Vitalify Asia cam kết mang đến sản phẩm với giá trị bền vững nhanh chóng cho doanh nghiệp Vitalify Asia có kinh nghiệm phát triển hệ thống, ứng dụng đa dạng lĩnh vực, với khả hoạt động real-time bao gồm nhiều gia đoạn phát triển khác từ lên kế hoạch, vận hành phát triển, cập nhật sau Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm Các sản phẩm Vitalify Asia kể đến sau: NativeCamp Nền tảng trực tuyến gia sư dạy tiếng anh chuyên sâu Native Camp tảng trường học tiếng anh lớn Nhật Bản Native Camp giúp người dùng học tập tiếng Anh với tất kỹ năng: nghe, nói, đọc, viết ngồi cịn có chức đánh giá, kiểm tra khả tiếng Anh, học trực tiếp với giáo viên thơng qua tài ngun có sẵn Các sản phẩm ứng dụng game Vitalify Asia phát triển nhiều tựa game giải trí thiết bị di động với lối chơi đơn giản Một số có sử dụng công nghệ AR tăng cường thực tế ảo Face Emotion – Xác định cảm xúc, Zombie Doors AR Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm B CHƯƠNG 2: Nội dung thực tập Trong khoảng thời gian thực tập công ty, sinh viên có hội học tập thêm kiến thức chun mơn, tiếp xúc với quy trình thực dự án, giải vấn đề phát sinh dự án thực tế Sinh viên nâng cao kĩ phần tích yêu cầu, đặt câu hỏi, tương tác trực tiếp với khách hàng thành viên đội phát triển Ngồi ra, sinh viên cịn có hội phát triển kỹ mềm nghiên cứu thơng tin, thuyết trình, giao tiếp Tìm hiểu công ty kỹ công ty Thời gian: ngày Nội dung: Giới thiệu công ty, cấu tổ chức công ty, chấm cơng, tính lương, quyền lợi văn hố làm việc công ty Sinh viên giới thiệu cấu tổ chức công ty, cách phân đội nhóm, cách thức tiếp nhận dự án đội nhóm, cách tiếp nhận giải task nhiệm vụ báo cáo hàng ngày Trong thời gian này, sinh viên công ty đánh giá sơ lược khả để chuyển đội nhóm phù hợp với lực Sinh viên cấp quyền truy cập tài nguyên nội bộ, dẫn công ty, email domain riêng để tương tác với hệ thống khách hàng Kết quả: Có hiểu biết cấu hoạt động cơng ty, quy trình phát triển phần mềm Scrum, cách tham gia họp nội với khách hàng, cách tiếp nhận nhiệm vụ báo cáo hàng ngày Nghiên cứu kỹ thuật Thời gian: ngày Nội dung: Trong thời gian chờ đợi phân vào đội nhóm thực dự án thực tế chờ tài khoản nội kích hoạt, sinh viên giao tìm hiểu Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm chế Flutter state gì? widget gì? Phân biệt tính chất widget tree, render tree,… Tìm hiểu thư viện MobX kiến trúc BloC dùng để quản lý state ứng dụng Flutter cách đơn giản tường minh Kết quả: Hiểu rõ Flutter, nắm bắt lý thuyết hoạt động Framework Hiểu biết thư viện MobX kiến trúc BloC cách thức vận hành xây dựng ứng dụng demo Tìm hiểu tập huấn quy trình làm việc, kiến thức 3.1 Các cơng cụ quy trình làm việc Thời gian: ngày Nội dung: Sau tiếp nhận tài khoản nội Sinh viên hướng dẫn DevOps, CI/CD, nguyên tắc, quy ước mã nguồn cách làm việc với GitLab, trình review mà merge mã nguồn Sinh viên yêu cầu đọc review trước mã nguồn, tài liệu dự án trước thức nhận nhiệm vụ thao tác trực tiếp mã nguồn Thực hiện: Tham gia buổi hướng dẫn, đọc tài liệu liên quan đến công cụ sử dụng để phát triển dự án Kết quả: Hiểu tổng quan dự án, tác nhân ngồi có liên quan, hiểu mã nguồn quy ước chung thao tác dự án Hiểu biết DevOps, CI/CD cách thao tác với GitLab 3.2 Tìm hiểu Framework Flutter Thời gian: ngày Nội dung: Được giao nhiệm vụ tìm hiểu lý thuyết hoạt động Flutter, cách thức vận hành ứng dụng Flutter Các nội dung tóm tắt sau: Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm Widget: “Mọi thứ Flutter Widget” – câu nói tiếng tài liệu thức Flutter, học trường, em cho vậy, nhiên tìm hiểu sâu Widget dường thiết kế, Flutter dựa vào thiết kế để render thành phần UI, thành phần thực chất Element RenderObject Element: Là đại diện cho instance Widget vị trí cụ thể hệ thống cây, thành phần UI thật để hiển thị hình RenderObject: Chịu trách nhiệm chỉnh kích thước, xếp vị trí, canh chỉnh, hồn thiện tơ màu cho Element Quan hệ Element, Widget State: Trong hàm runApp, ta truyền vào Widget Tree với MyApp root Widget Flutter từ rôt đến hết cây, Widget gọi hàm createElement để tạo Element từ tạo nên Element Tree Stateful Widget tạo Stateful Element tham chiếu đến state cụ thể Stateless Widget tạo Stateless Element tham chiếu đến Widget 10 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm Quan hệ Widget, Element RenderObject: RenderObjectElement gắn lên Element Tree nhờ widget mà nắm giữ gọi hàm createRenderObject() để tạo object renderObject nắm giữ tham chiếu renderObject Từ renderObject nhờ hàm paint, performLayout để tạo nên giao diện hiển thị Quá trình rebuild: Mỗi lần Widget bị rebuild, Element so sánh Widget State xem có khác so với ban đầu khơng đưa đến định xây dựng lại Cơ chế Hot reload: Khi thực thay đổi mã thấy chúng mà khơng cần phải khởi động lại ứng dụng chế thay đổi thêm bớt mã run time giúp tiết kiệm thời gian Thực hiện: Đọc tài liệu, tham gia buổi hướng dẫn, chia kiến thức Kết quả: Có hiểu biết sâu cách thức vận hành Framework Flutter, ưu điểm hạn chế so với Framework khác, tình nên dùng Framework 3.3 Tìm hiểu Firebase Thời gian: ngày Nội dung: Tìm hiểu dịch vụ Firebase mà dự án sử dụng như: Authentication, Firebase Cloud Messaging Nội dung tóm tắt sau: Phone authentication: Cho phép ứng dụng đăng nhập sử dụng số điện thoại để xác thực Một SMS gửi đến người dùng theo số điện thoại mà người dùng cung cấp, chứa mã số Khi mã số xác thực Firebase, người dùng chuyển thành trạng thái đăng nhập Firebase Cloud Messaging: Là giải pháp đa tảng giúp dễ dàng gửi đoạn thông báo nhanh chóng tiết kiệm Server nhận đoạn tin nhắn cần 11 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm thông báo đến người sử dụng ứng dụng Firebase chịu trách nhiệm gửi đến thiết bị có cài đặt ứng dụng thơng qua mã gọi Token Thực hiện: Đọc tài liệu, tham gia buổi hướng dẫn, chia kiến thức Kết quả: Biết phương thức hoạt động dịch vụ Authentication Firebase Cloud Messaging cung cấp Firebase 12 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm C CHƯƠNG 3: Thực dự án Thực dự án Trong khoảng thời gian tháng hướng dẫn thực công việc trực tiếp dự án thực tế, sinh viên có hiểu biết sâu sắc quy trình phát triển phần mềm Scrum, kiến thức kỹ thuật liên quan đến phát triển ứng dụng cross platform Cách tiếp nhận feedback nội từ khách hàng để hoàn thiện sản phẩm, đảm bảo chất lượng sản phẩm cao Lịch làm việc Tuần Công việc Người Mức độ hướng dẫn hồn thành Nhận xét người hướng dẫn Tìm hiểu cơng ty, tổ chức xếp đội nhóm công ty Làm quen với công cụ giao tiếp, hệ thống cơng Bùi Bình Trung 100% Hoàn thành tốt 100% Hoàn thành tốt ty Học cách tham gia họp, báo cáo hàng ngày Tìm hiểu quy trình làm việc Scrum, DevOps, CI/CD Tìm hiểu cách nhận task Nguyễn Thị Nhi báo cáo, cách push code pull request GitLabs 13 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm Tham gia họp Daily Scrum Tham gia họp lấy ý kiến yêu cầu khách hàng Nhận task phù hợp với khả Tham gia họp review chức Nguyễn Thị Nhi 100% Hoàn thành tốt 100% Hoàn thành tốt 100% Hoàn thành tốt Huỳnh Văn Trận làm học hỏi kiến thức Tham gia họp Daily Scrum Tham gia họp lấy ý kiến yêu cầu khách hàng Nhận task phù hợp với khả Tham gia họp review chức Nguyễn Thị Nhi Huỳnh Văn Trận làm học hỏi kiến thức Tham gia họp Daily Scrum Tham gia họp lấy ý kiến yêu cầu khách hàng Nhận task phù hợp với khả Tham gia họp review chức Nguyễn Thị Nhi Huỳnh Văn Trận làm học hỏi kiến thức 14 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm Tham gia họp Daily Scrum Tham gia họp lấy ý kiến yêu cầu khách hàng Nhận task phù hợp với khả Tham gia họp review chức Nguyễn Thị Nhi 100% Hoàn thành tốt 100% Hoàn thành tốt 100% Hoàn thành tốt Huỳnh Văn Trận làm học hỏi kiến thức Tham gia họp Daily Scrum Tham gia họp lấy ý kiến yêu cầu khách hàng Nhận task phù hợp với khả Tham gia họp review chức Nguyễn Thị Nhi Huỳnh Văn Trận làm học hỏi kiến thức Hoàn thành tài liệu thực tập Tham gia họp Nguyễn review, đánh giá trình Thị Nhi thực tập chức thực 15 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm D CHƯƠNG 4: Chi tiết dự án Giới thiệu Tên Project: dgHome Mô tả: Là phần mềm phát triển Vitalify Asia dành cho đối tác Mitsubishi Vinhome Ứng dụng giúp quảng bá sản phẩm hộ Vinhome bao gồm hình ảnh, viết liên quan, xem 3D mơ hộ, chăm sóc khách hàng, xem báo giá dự tính,… Một số hình ảnh phần mềm: 16 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm 17 Báo cáo thực tập doanh nghiệp Khoa Cơng nghệ phần mềm Thực Nhóm phát triển ứng dụng di động Flutter Vitalify Asia Thực tập sinh: Nguyễn Dương Tùng Người hướng dẫn: Huỳnh Văn Trận Kế hoạch 3.1 - Giai đoạn Đọc, tìm hiểu tài liệu khởi tạo dự án Đọc, tìm hiểu thiết kế UI/UX ứng dụng Đọc, tìm hiểu framework, thư viện liên quan dự án 18 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm 3.2 3.3 - Giai đoạn Tham gia thức vào dự án với quy trình làm việc Scrum, tham gia họp kế hoạch đầu tuần, daily scrum, họp cuối tuần đánh giá Nhận nhiệm vụ phù hợp với lực Nhận đánh giá hướng dẫn từ cấp trực tiếp Sửa lỗi phát sinh (nếu có) q trình release sản phẩm cho khách hàng Giai đoạn Đánh giá kết thực tập Hoàn thành tài liệu thực tập 19 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm TỔNG KẾT Trong khoảng thời gian thực tập ngắn, em có thêm kiến thức kĩ thực tế, có hội áp dụng học ghế nhà trường Tuy cịn nhiều thiếu sót non nớt kinh nghiệm, em cho công việc thực tập tảng, bệ phóng cho đường nghiệp tương lai Một lần nữa, chân thành cảm ơn anh chị công ty Vitalify Asia tận tình hỗ trợ giúp đỡ q trình thực tập & thầy khoa Công nghệ phần mềm tạo điều kiện để em hồn thành tập 20 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm DANH MỤC TÀI LIỆU THAM KHẢO Flutter Document, truy cập 05/08/2022, từ https://flutter.dev/ FlutterFire Overview, truy cập 06/08/2022, từ https://firebase.flutter.dev/docs/overview/ NORDIC CODER, truy cập 03/08/2022, từ https://nordiccoder.com/blog/tong-quan-veflutter/ Tìm hiểu sơ lược Firebase, truy cập 05/08/2022, từ https://viblo.asia/p/tim-hieu-soluoc-ve-firebase-Eb85oeOmZ2G 21 ... mơn lập trình ứng dụng đa tảng với Flutter Đồng thời, trân trọng cảm ơn thầy cô khoa Công nghệ phần mềm nhiệt tình hỗ trợ, tạo điều để em thực báo cáo Nguyễn Dương Tùng – 20/08/2022 Báo cáo thực. .. doanh nghiệp Khoa Công nghệ phần mềm 17 Báo cáo thực tập doanh nghiệp Khoa Công nghệ phần mềm Thực Nhóm phát triển ứng dụng di động Flutter Vitalify Asia Thực tập sinh: Nguyễn Dương Tùng Người hướng... hiểu Framework Flutter Thời gian: ngày Nội dung: Được giao nhiệm vụ tìm hiểu lý thuyết hoạt động Flutter, cách thức vận hành ứng dụng Flutter Các nội dung tóm tắt sau: Báo cáo thực tập doanh nghiệp