[Trang 1]
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
FLUTTER DEVELOPER
Công ty thực tập: Công ty TNHH Tiếp vận Vận tải Quốc tế Võ Lương
Người phụ trách: Lê Anh Tuấn
Thực tập sinh: Đỗ Ngọc Quý
TP. Hồ Chí Minh, tháng 6 năm 2022
<Đỗ Ngọc Quý>
[Trang 2]
LỜI MỞ ĐẦU
Với sự phát triển của công nghệ, các thiết bị di động ngày càng được phát triển mạnh mẽ
và có những chức năng hỗ trợ cuộc sống của con người tốt hơn. Với tốc độ phát triển của các
thiết bị di động, tốc độ phát triển của ngành lập trình ứng dụng di động cũng tăng trưởng nhanh
chóng. Việt Nam nằm trong top đầu các nước có độ phủ Internet rộng nhất, điện thoại thông
minh đang dần trở thành một phần quan trọng không thể thiếu trong cuộc sống hằng ngày. Ngày
càng nhiều ứng dụng công nghệ được phát triển trên các nền tảng di động. Các ứng dụng di
động hỗ trợ và là phần không thể thiếu trong các ngành khác như du lịch, kinh doanh, vận
chuyển,...
Trong quá trình học tập tại trường, em đã định hướng bản thân trở thành một lập trình
viên theo mảng ứng dụng di động chuyên nghiệp nên em đã tìm tịi về các cơng nghệ di động,
các ngơn ngữ và đăng ký các mơn chun ngành lập trình ứng dụng di động. Sau quá trình tự
học và làm đồ án, em cảm thấy bản thân đã sẵn sàng để xin thực tập để có thể học hỏi, tiếp thu
nhiều kiến thức hơn trong ngành này. Do đó em đã đăng ký mơn thực tập và bắt đầu tìm kiếm
cơng việc. Rất may mắn cho em đã được công ty TNHH Tiếp vận Vận tải Quốc tế Võ Lương Voltrans nhận làm việc với vị trí thực tập sinh lập trình ứng dụng di động với Flutter.
<Đỗ Ngọc Quý>
[Trang 3]
LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn TNHH Tiếp vận Vận tải Quốc tế Võ Lương - Voltrans đã tạo
điều kiện cho em có cơ hội được thực tập tại công ty. Chỉ trong một thời gian ngắn, nhưng nhờ
sự chỉ dẫn nhiệt tình của team, em đã tiếp thu được những kiến thức quan trọng để có thể làm
được một ứng dụng di động hoàn thiện. Chân thành cảm ơn các anh chị trong team đã bỏ ra
nhiều thời gian, cơng sức để hướng dẫn em hồn thành đợt thực tập này.
Đặc biệt cảm ơn anh Lê Anh Tuấn, đã hướng dẫn, giúp đỡ cho em tận tình từ những khó
khăn trong cơng việc, đến những khó khăn việc làm quen với môi trường mới; cảm ơn anh
Nguyễn Ngọc Khanh, đã hỗ trợ em với quy trình phát triển ứng dụng của công ty, cùng các kỹ
thuật giúp tối ưu sản phẩm;
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.
Đỗ Ngọc Quý
TP.HCM, ngày 15 tháng 6 năm 2022
<Đỗ Ngọc Quý>
[Trang 4]
NHẬN XÉT CỦA KHOA
<Đỗ Ngọc Quý>
[Trang 5]
LỜI MỞ ĐẦU
1
LỜI CẢM ƠN
3
NHẬN XÉT CỦA KHOA
4
Chương 1: Giới thiệu
6
Giới thiệu công ty
6
Sản phẩm của công ty (phần IT)
7
Chương 2: Nội dung thực tập
8
Tìm hiểu cơng ty và các cài đặt về bảo mật tài khoản
8
Tìm hiểu kỹ thuật
8
Tìm hiểu về ứng dụng Flutter & tham gia quá trình training
9
Tham gia dự án chính thức
9
Chương 3: Chi tiết về project
12
Giới thiệu về ứng dụng
12
Thực hiện
12
Kế hoạch
12
TÀI LIỆU THAM KHẢO
13
TỔNG KẾT
14
14
<Đỗ Ngọc Quý>
[Trang 6]
Chương 1: Giới thiệu
1. Giới thiệu công ty
-
Tên công ty: TNHH Tiếp vận Vận tải Quốc tế Võ Lương - Voltrans Logistics Co. Ltd
-
Trụ sở văn phịng chính: 174/13 đường Điện Biên Phủ, Phường 17, Quận BÌnh
Thạnh, Thành phố Hồ Chí Minh
-
Văn phịng IT: Melody Tower 2, 651-653 Điện Biên Phủ, Phường 25, Quận Bình
Thạnh, Thành phố Hồ Chí Minh
-
Website: />
-
Email:
-
Tel: +84 28 710 88499 Ext: 1
-
Voltrans Logistics Co. Ltd được thành lập vào tháng 07 năm 2004 tại thành phố
Hồ Chí Minh - một trung tâm kinh tế lớn nhất của Việt Nam. Hiện nay, chúng tơi
có hơn 90 nhân viên và 4 văn phòng tại Tp. Hồ Chí Minh, Hà Nội và Đà Nẵng và
Hải Phịng. Khởi nguồn với tính chuyên nghiệp, kinh nghiệm dày dặn và kỹ năng
<Đỗ Ngọc Quý>
[Trang 7]
làm việc theo nhóm trong lĩnh vực Vận tải Quốc tế qua nhiều năm. Chúng tôi
cung cấp các dịch vụ chuyên nghiệp hoạt động 24/7 với các lĩnh vực: Vận chuyển
đường hàng không, đường biển, vận chuyển trong và ngồi nước, xuất nhập hàng
dự án,... Trong suốt q trình thành lập và phát triển, Công ty đã gặt hái một số
kết quả tốt đẹp và hướng đến mục tiêu là một Công ty cung cấp các chuỗi cung
ứng dịch vụ vận chuyển Quốc tế và Vận tải đa phương thức hàng đầu tại Việt
Nam.
1. Sản phẩm của công ty (phần IT)
Sản phẩm của công ty hiện tại phát triển các ứng dụng, hệ thống giúp quản lý cơng
việc chính là vận chuyển, giao nhận, ngồi ra có quản lý nhân sự hành chính nội bộ. Ứng
dụng cho các cơng ty partner sử dụng, giúp quản lý, tracking các thông tin về giá cả,
phương tiện, hiện trạng đơn hàng, liên hệ với các partner liên quan một cách thuận tiện và
nhanh chóng nhất. App đang được xuất bản ở Google Play Store và App Store.
<Đỗ Ngọc Quý>
[Trang 8]
Chươ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 tồn diện về lập trình ứng dụng di động đa nền tả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, được tận tay tham gia vào ứng dụng với nhiều khách hàng sử dụng.
1. Tìm hiểu cơng ty và các cài đặt về bảo mật tài khoản
Thời gian: 2 ngày (15-16/04/2022)
Nội dung: Giới thiệu về công ty, cách tổ chức của cơng ty. Giới thiệu chung về
phịng IT của công ty.
Được nghe anh Shaper Phạm Lê Trung giới thiệu, làm quen với các hệ thống tài
khoản công ty như Bitrix24 - nền tảng giao tiếp của doanh nghiệp, Saleshub - Nền tảng
ORM với các module sử dụng nội bộ, 3CX - giao tiếp gọi điện nội bộ, tài khoản email,
GitHub, Slack, ...
Ngồ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, cách
tạo các ticket để xin phép vắng, quy định giờ giấc checkin/checkout,…
Ngoài ra, thực tập sinh còn được giới thiệu về Mentor, Project Manager (PM), People
Manager (PPM) đồng hành trong quá trình thực tập, được giới thiệu training plan. Sau khi
kết thúc buổi giới thiệu, thực tập sinh sẽ được Mentor hướng dẫn setup account, giải thích
chung về training plan.
Thực hiện: Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả: Hiểu thêm về cơng ty Voltrans, q trình thành lập và phát triển. Hiểu thêm
về sản phẩm cơng ty. Có thêm các kỹ năng về việc sử dụng email trong công việc, hiểu
được cách thức liên lạc nội bộ trong công ty.
2. Tìm hiểu kỹ thuật
Thời gian: 1 ngày
<Đỗ Ngọc Quý>
[Trang 9]
Nội dung: Tìm hiểu về các hệ thống tài liệu hướng dẫn về quy trình của một cơng ty vận
chuyển, hiểu về nghiệp vụ của công ty với tài khoản Atlassian Wiki. Được join vào
GitHub của công ty, xem các project đã và đang phát triển hoạt động.
1.1.
Tìm hiểu về ứng dụng Flutter & tham gia quá trình training
Thời gian:
-
4 tuần (16/2 - 16/3)
Thực hiện:
-
Giới thiệu về những kiến thức đã biết, những thư viện, công cụ đã và đang sử dụng của
bản thân, và với các ứng dụng của công ty.
-
Tham gia training, code 2 ứng dụng cơ bản với Flutter: ứng dụng Todo List App và ứng
dụng Attendance App dưới sự quan sát của mentor, theo các yêu cầu, design được giao.
-
Todo List App: Xây dựng theo cấu trúc Clean Architecture, sử dụng cùng với thư viện
quản lý state chính là Provider, với user flow cơ bản, các practice với Firebase Auth,
Firestore Database.
-
Attendance App: Ứng dụng tracking, xác định khoảng cách user để thực hiện tác vụ
checkin/checkout, có thể ứng dụng vào module giúp quản lý nhân viên điểm danh trong
khn viên văn phịng. Làm quen với một số animation trong Flutter, cải thiện UI/UX
của người dùng khi sử dụng. Xây dựng app theo design cho sẵn, đồng thời hồn thiện
responsive với nhiều kích cỡ màn hình khác nhau.
Kết quả: Nhận ra những kiến thức cần tìm hiểu thêm, một số các practice khi code
Flutter của mentor chỉ dẫn.
1.2.
Tham gia dự án chính thức
Thời gian:
-
4 tuần (17/3 - 15/4)
Nội dung:
-
Được access với source code của ứng dụng Flatlink Vendors để tìm hiểu, đọc hiểu các
module ứng dụng.
-
Được tìm hiểu về quy trình phát triển (tạo tính năng, issue, fix bug,...) với GitHub
<Đỗ Ngọc Quý>
[Trang 10]
-
Được nhận các task nhỏ, liên quan đến các feedback/ issues mà người dùng phản hồi,
report lại.
Thực hiện:
-
Tham gia fix các issues/feedbacks người dùng gửi lên môi trường dev
-
Báo cáo với mentor về những thay đổi, những ý kiến có thể thay đổi trong source code.
Kết quả:
-
Nâng cao kỹ năng làm việc nhóm với GitHub
-
Có được những kiến thức quan trọng cho việc lập trình mobile sau này.
-
Ngồi ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúng chuẩn, dễ
đọc, dễ hiểu.
2. Thực hiện project
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, Firebase, APIs. 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 ứng dụng phát triển với Flutter, đồng thời
tham gia vào quá trình bảo trì sửa chữa ứng dụng đã được phát hành.
Chi tiết đồ án sẽ được nói ở phần sau.
3. Lịch làm việc
Mức
Tuần
Cơng việc
Người hướng dẫn
độ
Nhận xét của người
hồn
hướng dẫn
thành
-
Tìm hiểu về cơng ty, Anh Justin Lê Anh
cách tổ chức của công Tuấn
1
ty.
-
Anh Ken Võ Nam
Làm quen với các Trường
công cụ làm việc trong
công ty.
<Đỗ Ngọc Quý>
[Trang 11]
-
Học cách trao đổi, làm
việc qua email.
-
Tìm hiểu ngơn ngữ lập Anh Ryan Nguyễn
trình Dart và Flutter Ngọc Khanh
2
framework
-
Thực hành
-
Làm bài test
-
Tìm hiểu Geolocator Anh Ryan Nguyễn
library
3
-
Tìm
Ngọc Khanh
hiểu
Flutter
Animation
4
-
Tìm hiểu về Riverpod
Anh Justin Lê Anh
-
Tìm hiểu về Bloc
Tuấn
-
Tìm hiểu source code Anh Justin Lê Anh
5
ứng
dụng
Flatlink Tuấn
Vendor
6, 7, 8
Nhận
các
issue
/ Anh Ryan Nguyễn
feedback nhỏ để thực Ngọc Khanh
hiện dưới sự chỉ dẫn
của anh Ryan
<Đỗ Ngọc Quý>
[Trang 12]
Chương 3: Chi tiết về project
1. Giới thiệu về ứng dụng
Ứng dụng phát triển theo nhu cầu checkin/checkout của nhân viên công ty được thực
hiện online, với nhu cầu của một số vị trí cơng việc di chuyển nhiều, cần có những thiết
lập, thuận tiện cho việc chấm cơng.
Giao diện: Giao diện cơ bản gồm 3 màn hình chính: Intro, Đăng nhập / đăng ký, Màn
hình chính
Figma File
2. Thực hiện
-
Thực hiện một mình với sự giúp đỡ của anh Ryan Nguyễn Ngọc Khanh
3. Kế hoạch
-
Phân tích các tính năng, xây dựng từ giao diện / yêu cầu
-
Hoàn thành screen: Splash, Intro, SignIn / SignUp, Main Screen
-
Implement với thư viện Riverpod
-
Tracking vị trí để checkin / checkout
-
Hồn thiện giao diện, theme system
<Đỗ Ngọc Quý>
[Trang 13]
TÀI LIỆU THAM KHẢO
Flutter Official Docs
Flutter Youtube Channel:
-
Making Animations with Flutter
-
The Boring Flutter Development Show
Bloc Library
Very Good Clean Architecture
Riverpod
<Đỗ Ngọc Quý>
[Trang 14]
TỔNG KẾT
Trải qua 2 tháng làm thực tập sinh ở công ty, em đã học được nhiều kiến thức & kinh
nghiệm. Ứng dụng đã có khá đầy đủ các tính năng đã đề ra ban đầu. Do thời gian có hạn nên
tính năng cịn đơn giản, hình ảnh chưa được đẹp như mong đợi. Nhưng do ứng dụng có thể phát
triển theo kiến trúc chuẩn nên có thể scale sau này có những thay đổi, chức năng mới.
Chân thành cảm ơn sự giúp đỡ của các anh chị trong team, để có thể hồn thành ứng
dụng này. Cảm ơn thầy cơ trong khoa đã giúp em hồn thành bài báo cáo này.
<Đỗ Ngọc Quý>