ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH 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 DI ĐỘNG VỚI FLUTTER Công ty thực tập Unicloud Group Người phụ trách Đặng Quang Tru[.]
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
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 DI ĐỘNG VỚI FLUTTER
Công ty thực tập: Unicloud Group Người phụ trách: Đặng Quang Trung
Trang 3LỜI MỞ ĐẦU
Hiện nay, với sự phát triển ngày càng nhanh của nền kinh tế cùng với những tiến bộ hiện đại của khoa học, công nghệ, mức sống của người dân ngày càng được cải thiện thông qua các thiết bị công nghệ Những ngành nghề liên quan tới công nghệ thông tin ngày càng phát triển mạnh mẽ để bắt kịp với xu hướng trên Trong đó, lập trình ứng dụng di động đang dần trở nên phổ biến
Hòa vào xu thế chung của thế giới, ngành lập trình ứng dụng di động của Việt Nam đã và đang không ngừng phát triển để theo kịp, hòa nhập và cạnh tranh với những công ty hàng đầu về ứng dụng di động trên thế giới Bên cạnh những công ty trẻ tuổi trong nước, những công ty lớn trên thế giới cũng gia nhập vào thị trường Việt Nam, góp phần rất lớn vào sự phát triển tích cực của ngành lập trình di động
Chính vì lí do trên, sau hơn ba năm học tập tại nhà trường, với mong muốn học hỏi thêm kinh nghiệm và phát triển kỹ năng của bản thân để có thể xây dựng được những ứng dụng di động nhằm đáp ứng nhu cầu không ngừng đổi mới và nâng cao, em
đã quyết định lựa chọn công ty Unicloud làm nơi thực tập Em tin rằng với môi trường hiện đại, chuyên nghiệp và đầy năng động cùng sự nỗ lực của bản thân, Unicloud sẽ là
bệ phóng để tiếp bước cho hành trình phát triển ứng dụng web của bản thân mình
Trang 4LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty Unicloud đã tạo điều kiện cho em có cơ hội được thực tập tại công ty
Ngay từ những buổi đầu thực tập, dưới sự hướng dẫn nhiệt tình của anh chị mentors, em đã tiếp thu được nhiều kiến thức về quy trình xây dựng phần mềm trong thực tế, cũng như được làm việc trong môi trường chuyên nghiệp Không những tạo điều kiện cho em được học tập, các anh chị còn tạo một văn hóa làm việc cởi mở, giúp
em có thể chia sẻ cũng như tiếp thu nhiều kiến thức một cách chủ động, thoải mái Chỉ trong một thời gian ngắn, nhờ sự chỉ dẫn nhiệt tình của các anh chị hướng dẫn, em đã tiếp thu được những kiến thức quan trọng để có thể xây dựng ứng dụng di động
Chân thành cảm ơn các anh chị hướng dẫn đã bỏ ra nhiều thời gian, công sức để hướng dẫn em hoàn thành đợt thực tập này Đặc biệt, em gửi lời cảm ơn đến anh Trung – mentor chính của em trong quá trình thực tập Cảm ơn anh vì anh đã hướng dẫn tận tình, tạo cơ hội cũng như điều kiện cho em được học hỏi, được thử sức với những mảng liên quan tới mục tiêu cũng như là định hướng mục tiêu nghề nghiệp của
em sau này
Bên cạnh đó, em cũng trân trọng gửi lời cảm ơn đến quý thầy cô khoa Công Nghệ Phần Mềm đã tận tình hỗ trợ, hướng dẫn em thực hiện bài báo cáo này
Hoàng Dận Quang TP.Hồ Chí Minh, ngày 21 tháng 12 năm 2022
Trang 5NHẬN XÉT CỦA KHOA
Trang 6
MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU CÔNG TY THỰC TẬP 6
1 Giới thiệu về Unicloud Group 6
2 Sản phẩm của công ty 6
CHƯƠNG 2 NỘI DUNG THỰC TẬP 7
2.1 Tìm hiểu các công cụ và quy trình làm việc 7
2.2 Tìm hiểu ngôn ngữ Dart 7
2.3 Tìm hiểu về Flutter 8
2.4 Tìm hiểu về các Package Dart 8
CHƯƠNG 3 CHI TIẾT DỰ ÁN 11
1 Giới thiệu về dự án Sliving App 11
2 Thực hiện 11
3 Kế hoạch 11
TÀI LIỆU THAM KHẢO 13
TỔNG KẾT 14
Trang 7CHƯƠNG 1 GIỚI THIỆU CÔNG TY THỰC TẬP
1 Giới thiệu về Unicloud Group
Hình 1.1: Logo Unicloud Group Tiền thân là Công ty Cổ phần Đầu tư Thương mại Sunshine Tech thuộc Tập đoàn Sunshine (Sunshine Group) được thành lập ngày 12/06/2016, Unicloud Group -Công ty Tập đoàn -Công nghệ Quốc tế tiên phong trong chuyển đổi số, tập trung nghiên cứu, phát triển, và cung cấp các sản phẩm, giải pháp công nghệ quan trọng cho hầu hết các lĩnh vực “xương sống” của nền kinh tế Nhằm mục tiêu tăng cường năng lực và thúc đẩy sự phát triển của các ngành nghề, nâng cao chất lượng cuộc sống
Unicloud sở hữu một hệ sinh thái Công nghệ toàn diện ứng dụng phủ khắp các lĩnh vực trọng yếu của nền kinh tế như Tài chính Ngân hàng, Chứng khoán, Bất động sản, Smart & IoT, Kinh tế chia sẻ, Chính phủ điện tử Unicloud có sứ mệnh là tiên phong trong chuyển đổi số của Việt Nam và thế giới, giúp nâng tầm giá trị chất xám của người Việt phục vụ cho cộng đồng văn minh giúp nâng cao chất lượng sống không chỉ của người Việt mà trên toàn thế giới
2 Sản phẩm của công ty
Unicloud cung cấp giải pháp phần mềm từ Web, Desktop App, Mobile App, AI cho đến lập trình nhúng với các thiết bị IoT trong 4 lĩnh vực cốt lõi: Digital Banking Platform (giải pháp cho lĩnh vực tài chính ngân hàng), Smart City (thành phố thông minh & Chính phủ điện tử), Digital Transformation (Giải pháp chuyển đổi số doanh nghiệp), và VR (ứng dụng Thực tế ảo)
Một số sản phẩm nổi bật của công ty có thể kể đến như:
STM (Smart Teller Machine): Máy giao dịch ngân hàng tự động
Trang 8CHƯƠNG 2 NỘI DUNG THỰC TẬP
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triên (như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của công ty
Ngoài ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email và Skype để hợp tác trong công việc,…
thêm các kỹ năng về cách hợp tác trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm
2 Nghiên cứu kỹ thuật
2.1 Tìm hiểu các công cụ và quy trình làm việc
Thời gian: 2 ngày
Nội dung: Tìm hiểu các công cụ và quy trình làm việc tại công ty
Tìm hiểu cách sử dụng các công cụ:
- Tìm hiểu về Jira, Confluence và Skype
- Tìm hiểu về Git và GitLab
- Tìm hiểu về CI/CD
- Tìm hiểu về IDE Visual Studio Code và Android Studio
- Tìm hiểu về Postman
Tìm hiểu quy trình làm việc:
- Tìm hiểu về mối liên hệ và cách hợp tác giữa các bộ phận trong công ty
- Tìm hiểu về các quy chuẩn phát triển ứng dụng trong công ty
Thực hiện: Tìm hiểu thông qua tài liệu trên mạng, tham gia buổi học tại công ty
và thực hành trên các ứng dụng nêu trên
Kết quả: Hiểu về văn hóa và quy trình làm việc trong công ty, hiểu thêm các
công cụ hỗ trợ cho công việc lập trình và hoạt động tại công ty
2.2 Tìm hiểu ngôn ngữ Dart
Thời gian: 2 ngày
Trang 9Nội dung: Tìm hiểu về ngôn ngữ Dart
Nắm được kiến thức căn bản
Biết cách bắt và xử lý lỗi
Hiểu và áp dụng được OOP trong Dart
Tìm hiểu và sử dụng Stream
Tìm hiểu các quy tắc viết code hiệu quả
Thực hiện: Tìm hiểu thông qua tài liệu trên mạng, trao đổi và chia sẻ kiến thức,
làm các bài thực hành
Kết quả: Hiểu sâu hơn về ngôn ngữ Dart, cách viết code hiệu quả.
2.3 Tìm hiểu về Flutter
Thời gian: 2 ngày
Nội dung: Tìm hiểu về Flutter
Tìm hiểu và sử dụng các Widget thông dụng
Hiểu về Flutter App Lifecycle
Tìm hiểu cách quản lý State thông qua Stream và GetIt
Tìm hiểu cách tạo Animation trong Flutter
Nắm được cách để xây dựng ứng dụng bằng Flutter
Thực hiện: Tìm hiểu thông qua tài liệu trên mạng, trao đổi và chia sẻ kiến thức,
làm các bài thực hành
Kết quả: Hiểu sâu hơn và xây dựng được ứng dụng với Flutter
2.4 Tìm hiểu về các Package Dart
Thời gian: 2 ngày
Nội dung: Tìm hiểu và sử dụng một số Package Dart
Tìm hiểu và sử dụng RxDart
Tìm hiểu và sử dụng GetIt
Tìm hiểu và sử dụng Protobuf
Tìm hiểu và sử dụng OneSignal
Thực hiện: Tìm hiểu thông qua tài liệu trên mạng, trao đổi và chia sẻ kiến thức,
làm các bài thực hành
Trang 103 Thực hiện dự án
Sau hai tuần được hướng dẫn và thực hành, thực tập sinh đã nắm được những kiến thức cơ bản cần có và được tham gia trực tiếp vào dự án tại công ty, thực hiện các tính năng từ cơ bản lên đến nâng cao Chi tiết về dự án được chia sẻ ở phần sau
4 Lịch làm việc
Tuầ
Người hướng dẫn
Mức độ hoàn thành
Nhận xét của người hướng dẫn
1
Tìm hiểu về công ty, cách tổ chức
của công ty
Làm quen với các công cụ và quy
trình làm việc trong công ty
Tìm hiểu về ngôn ngữ Dart
Đặng Quang Trung
100%
2
Tìm hiểu về Flutter
Tìm hiểu về các Package
Đặng Quang Trung
100%
3
Tham gia dự án Sliving
Tìm hiểu công nghệ, cấu trúc, yêu
cầu dự án
Đặng Quang Trung
100%
4
Xây dựng tính năng đăng nhập, xác
thực mã OTP
Đặng Quang Trung
100%
5
Xây dựng tính năng đăng ký bằng
số điện thoại
Đặng Quang Trung
100%
6 Xây dựng tính năng thống kê biểu
Quang Trung
100%
7
8 Xây dựng tính năng điều khiển rèm
cửa
Đặng Quang
100%
Trang 119
Xây dựng tính năng liên kết tài
khoản Google, Apple
Xây dựng tính năng quản lý thông
tin tài khoản
Đặng Quang Trung
100%
10 Xây dựng tính năng gửi và cải đặt
Quang Trung
100% 11
12
Sửa lỗi tồn đọng
Báo cáo, đánh giá quá trình thực
tập
Đặng Quang Trung
100%
Trang 12CHƯƠNG 3 CHI TIẾT DỰ ÁN
1 Giới thiệu về dự án Sliving App
Ứng dụng Sliving App là một ứng dụng di động quản lý thông minh cho giải pháp Smart Home, cho phép người sử dụng có thể điều khiển các thiết bị trong ngôi nhà thông minh như bóng đèn, rèm cửa, máy lạnh… và theo dõi trạng thái ngôi nhà thông qua các cảm biến ánh sáng, cảm biến nhiệt độ, cảm biến chuyển động Ứng dụng này được xây dựng chủ yếu nhắm tới nhóm khách hàng sở hữu nhà thông minh được xây dụng bởi tập đoàn Sunshine Group Vì vậy, các tác vụ xử lý thông tin cho các thiết bị IoT này được chủ động và tối ưu nhất
Hình 3.1: Hình ảnh ứng dụng Sliving App
2 Thực hiện
Ứng dụng được xây dựng và phát triển xuyên suốt bởi đội ngủ nhân viên của Tập đoàn Unicloud, trong đó có một phần góp sức nhỏ của em trong quá trình thực tập tại công ty dưới sự hướng dẫn của anh Đặng Quang Trung, cũng đồng thời là người phụ trách và quản lý chính của dự án
3 Kế hoạch
Ứng dụng liên tục được cập nhật và phát triển với hai mục tiêu chính: Cập nhật giao diện ứng dụng và cải thiện trải nghiệm người dùng, song song với phát triển các tính năng mới đáp ứng nhu cầu và tiềm năng của thị trường
Trang 13Trong khoảng thời gian thực tập, em đã được giao thực hiện những công việc như sau:
Giai đoạn 1:
Nội dung:
- Tham khảo tài liệu, tìm hiểu dự án
- Xây dựng, cải thiện các tính năng xác thực bao gồm đăng nhập, đăng ký, xác thực mã OTP
- Xây dựng, cải thiện tính năng thống kê biểu đồ năng lượng
Kết quả:
- Hoàn thành tốt các công việc được giao
- Hiểu được quy trình, cấu trúc, yêu cầu dự án
Giai đoạn 2:
Nội dung:
- Xây dựng tính năng điều khiển rèm cửa
- Xây dựng tính năng liên kết tài khoản Google, Apple
- Cải thiện trải nghiệm tính năng quản lý thông tin tài khoản
- Xây dựng tính năng gửi và cài đặt thông báo
Kết quả:
- Hoàn thành tốt các công việc được giao
- Học hỏi được nhiều kiến thức hữu ích và nâng cao kinh nghiệm
Trang 14TÀI LIỆU THAM KHẢO
1 Trang chủ website Tập đoàn Unicloud
https://www.unicloud.com.vn/
2 Trang chủ website dự án Sliving
https://www.sliving.vn/
3 Danh mục tài liệu tham khảo Dart
https://dart.dev/guides
4 Danh mục tài liệu tham khảo Flutter
https://docs.flutter.dev/
Trang 15TỔNG KẾT
Khoảng thời gian 3 tháng thực tập tại Unicloud đã để lại cho em nhiều trải nghiệm quý giá Bên cạnh được trau dồi kiến thức chuyển môn, kinh nghiệm thực tế,
em còn được học hỏi thêm nhiều khía cạnh khác về văn hóa, về tinh thần làm việc và
có cơ hội được kết giao với những người đồng nghiệp, người bạn quý báu, đây sẽ là hành trang giúp em vững bước hơn trong sự nghiệp sau này
Cuối cùng, em xin chân thành cảm ơn Tập đoàn Unicloud đã tạo điều kiện cho
em được thực tập tại công ty Đặc biệt cảm ơn các anh chị và các bạn đồng nghiệp đã tận tình giúp đỡ cho em trong 3 tháng vừa qua