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 TP... Giới thiệu Công ty - Tên công ty: CÔNG TY CỔ PHẦN CÔNG NGHỆ EC
Trang 1TRƯỜ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
TP Hồ Chí Minh, tháng 4 năm 2023
Trang 2GVHD: Trần Anh Dũng Dương Trung Nguyên
LỜI MỞ ĐẦU
Thực tập tốt nghiệp luôn là chủ đề quan trọng đối với mỗi sinh viên, đó là cơ hội tốt cho
em có thể học hỏi, trau dồi kinh nghiệm để từ đó có những định hướng đúng đắn, đề ra mục tiêu
và con đường cho tương lai
Ngành công nghiệp mobile là một bộ phận không thể thiếu của ngành công nghiệp phần mềm Hằng năm càng nhiều các hãng điện thoại mới ra đời, ngày càng đa dạng Xu hướng là làm sao để một ứng dụng có thể chạy trên nhiều thiết bị mà không phải chuyển đổi công nghệ
Sau những năm học tập trên trường, em mong muốn có thể được trải nghiệm, học hỏi kinh nghiệm thực tế và được tham gia vào một môi trường làm việc tốt Do đó em quyết định chọn Công ty cổ phần công nghệ Ecomx, là nơi đáp ứng được nhưng mong muốn trên
Trang 3Và em xin cảm ơn mọi người trong công ty đã luôn chia sẽ, giúp đỡ để em hòa nhập, học hỏi kinh nghiệm và hoàn thành tốt khóa thực tập này
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ài báo cáo này
Dương Trung Nguyên Thành phố Hồ Chí Minh, tháng 4 năm 2023
Trang 4GVHD: Trần Anh Dũng Dương Trung Nguyên
NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC
Chương 1: Giới thiệu công ty thực tập 1
1 Giới thiệu Công ty 1
2 Sản phẩm của công ty 1
Chương 2: Nội dung thực tập 2
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 2
2 Nghiên cứu kỹ thuật 2
3 Thực hiện project 4
4 Lịch làm việc 5
Chương 3: Chi tiết về project 7
1 Giới thiệu về ứng dụng Clinic Appointment 7
2 Thực hiện 15
3 Kết quả 15
Trang 6Chương 1: Giới thiệu công ty thực tập
1 Giới thiệu Công ty
- Tên công ty: CÔNG TY CỔ PHẦN CÔNG NGHỆ ECOMX
- Tên quốc tế: ECOMX TECHNOLOGY JOINT STOCK COMPANY
1 Web, Ứng dụng di động Ecomx Ứng dụng mua sắm trực tuyến với
tính năng mua chung
2 Các phần mềm khác theo yêu cầu của
khách hàng
Trang 7Chương 2: Nội dung thực tập
- Đợt thực tập với chủ đề “Lập trình ứng dụng di động với Flutter” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về lập trình ứng dụng với Flutter, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm, thuyết trình, giao tiếp Tại công ty, sinh viên có cơ hội được học tập, khám phá và làm việc trong một môi trường phát triển phần mềm chuyên nghiệp
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:
- Giới thiệu về công ty, cách tổ chức của 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 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 trong công việc…
Kết quả:
- Hiểu thêm về công ty Ecomx, quá trình thành lập và phát triển các dự án của công
ty hiện có, và các sản phẩm sắp tới Có thêm các kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn
2 Nghiên cứu kỹ thuật
2.1 Làm quen với workflow, process flow
Thời gian: 1 ngày
Nội dung:
- Hiểu được Process Flow, Workflow của phần mềm
- Sử dụng phần mềm thử để kiểm tra các chức năng trong các tài liệu
Thực hiện:
- Đọc Workflow, Process flow của phần mềm
- Đọc và xem các tài liệu trước về các chức năng và các task đã hoàn thành trước đó
Kết quả:
- Nắm rõ Workflow và Process flow của phần mềm Hiểu được phần mềm
Trang 8GVHD: Trần Anh Dũng Dương Trung Nguyên
- Hiểu được các nội dung trên
2.3 Tìm hiểu UI Layout Widget
Thời gian: 2 ngày
- Nâng cao kỹ năng lập trình, các bố trí hợp lí, dễ sử dụng cho người dùng, tối ưu hóa
bố trí đơn giản và hiểu quả
- Có được những kiến thức quan trọng cho việc lập trình ứng dụng mobile sau này
2.4 Tìm hiểu về API và package Dio
Thời gian: 2 ngày
Nội dung: Dio là một ứng dụng HTTP client mạnh mẽ cho Dart, hỗ trợ Interceptors,
Global configuration, FormData, Request Cancel, File download, Timeout, v.v
- Tìm hiểu về API
- Tìm hiểu package Dio
Trang 9
Thực hiện:
- Đọc tài liệu, xem video về API, Dio
- Đọc code có sẵn
Kết quả:
- Hiểu về API, Dio và áp dụng
2.5 Tìm hiểu State Management trong Flutter và Bloc
Thời gian: 3 ngày
Nội dung: Bloc là một lib để quản lý state cho Flutter application B.L.o.C nghĩa là
Business Logic Component
- Tìm hiểu State Management
- Sau một tháng được training và thực hành, thực tập sinh đã nắm được những kiến thực
cơ bản về Flutter và các kiến thức liên quan Trong tháng thứ hai, trainer đã hướng dẫn thực tập sinh áp dụng những kiến thức đã học để thực hiện một phần trong một project với Flutter
Trang 10GVHD: Trần Anh Dũng Dương Trung Nguyên
4 Lịch làm việc
Tuần Công việc 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ụ làm việc trong công ty
- Học cách trao đổi, làm việc qua email, Slack, Trello
- Đọc workflow, process flow của phần mềm
2
- Tìm hiểu ngôn ngữ lập trình Flutter
- Thực hành một số layout cơ bản
- Tìm hiểu sử dụng Git
4
- Tìm hiểu API và package Dio
- Thực hành
5
- Tìm hiểu về Bloc state management trong flutter
Trang 116
- Code layout các màn hình
authentication
- Code layout màn hình nhắn tin
7
- Code layout màn hình tìm kiếm
- Code layout màn hinh đặt lịch
8
- Code màn hình thông tin chi tiết lịch hẹn
- Báo cáo cuối đợt thực tập
Trang 12GVHD: Trần Anh Dũng Dương Trung Nguyên
Chương 3: Chi tiết về project
1 Giới thiệu về ứng dụng Clinic Appointment
- Clinic Appointment là ứng dụng đáp ứng đầy đủ các nhu cầu của người dùng khi muốn
tìm kiếm thông tin và gặp mặt các bác sĩ thông qua các chức năng như đặt lịch, trò
Trang 13- Màn hình quên mật khẩu, nhập otp:
Trang 14
GVHD: Trần Anh Dũng Dương Trung Nguyên
- Màn hình home, danh sách bác sĩ:
Trang 15
- Màn hình tìm kiếm:
Trang 16
GVHD: Trần Anh Dũng Dương Trung Nguyên
- Màn hình thông tin bác sĩ, đặt lịch:
Trang 17
- Màn hình lịch hẹn:
Trang 18
GVHD: Trần Anh Dũng Dương Trung Nguyên
- Màn hình trò chuyện:
Trang 19
- Màn hình thông tin cá nhân:
Trang 20
GVHD: Trần Anh Dũng Dương Trung Nguyên
2 Thực hiện
- Sự giúp đỡ tận tình của leader cùng các thành viên trong nhóm thực hiện project
- Làm việc nhóm gồm 3 thành viên bằng các phương pháp trao đổi trực tiếp và online qua Google meet
- Quản lý source code bằng GitLab
- Quản lý công việc và tiến độ bằng Trello
3 Kết quả
- Kết quả công việc:
- Đã hoàn thiện các task được giao theo đúng tiến độ và thời gian yêu cầu
- Ứng dụng có giao diện trực quan, dễ dàng thực hiện các thao tác
- Code layout được tối ưu để app tốn ít tài nguyên khi sử dụng
- Kết quả thu được sau quá trình thực tập:
- Kiến thức và kinh nghiệm lập trình Flutter, cụ thể là các quy tắc để viết code tối
ưu giao diện và tăng performent, sử dụng Bloc State Management để quản lý các trạng thái của ứng dụng
- Kỹ năng giao tiếp, làm việc nhóm, kỹ năng chịu áp lực trong môi trường doanh nghiệp
Trang 21
TỔNG KẾT
Tùy quá trình thực tập ngắn ngủi, nhưng tại Ecomx em đã được học, tiếp thu và luyện tập nhiều kiến thức bổ ích, làm bàn đạp cho mình trên con đường lập trình ứng dụng Được tham gia vào nhiều dự án của công ty, nhờ vậy mà kiến thức học tập và cuộc sống được mở rộng rất nhiều, tích lũy nhiều kinh nghiệm cho tương lai sau này
Chân thành cảm ơn sự giúp đỡ của các anh chị trong công ty đã hỗ trợ em hoàn thành tốt nhiệm vụ được giao trong quãng thời gian thực tập ở công ty