ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ------BÁO CÁO THỰC TẬP DOANH NGHIỆP LẬP TRÌNH MOBILE VỚI FLUTTER Nơi thực tập: Công Ty Cổ Phần LECLE Viet
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
- -BÁO CÁO THỰC TẬP DOANH NGHIỆP
LẬP TRÌNH MOBILE VỚI FLUTTER
Nơi thực tập: Công Ty Cổ Phần LECLE Viet Nam
Người hướng dẫn: Nguyễn Mạnh Hùng
Sinh viên thực hiện: Lê Nhị Khang
Mã số sinh viên: 18520888
Tp Hồ Chí Minh, ngày 22 tháng 12 năm 2021
Trang 2LỜI MỞ ĐẦU
Thời đại công nghệ ngày càng phát triển, những thứ liên quan đến công nghệ thông tin đang được để tâm hơn cả Đặc biệt là mạng Internet và di động chính là hai thứ được chú trọng phát triển Những phần mềm trên điện thoại và web chính là công cụ chính được phát triển trong mảng này Một trong số những nền tảng được dùng để phát triển phần mềm điện thoại chính là Flutter Là một Framework lập trình đa nên tảng nổi bật trong thời gian gần đây và rất mạnh mẽ
Trong bài báo cáo này, tôi xin được trình bày về chương trình thực tập tại Công ty
Cổ Phần Lecle Vietnam với vị trí Mobile Intern tham gia lập trình với công nghệ Flutter Nội dung bài báo cáo gồm các phần sau
- Giới thiệu công ty và chương trình thực tập
- Báo cáo nội dung thực tập
- Kinh nghiệm thực tiễn thu được
- Tổng kết kết quả đạt được
Trang 3LỜI CẢM ƠN KHOA CÔNG NGHỆ PHẦN MỀM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Em xin chân thành cảm ơn trường Đại học Công nghệ Thông tin và Khoa Công nghệ Phần mềm đã tạo điều kiện cho em hoàn thành tốt đợt thực tập doanh nghiệp Nhờ đợt thực tập này đã giúp cho em rất nhiều kinh nghiệm quý báu Những kinh nghiệm đó
sẽ giúp em hoàn thiện hơn trong công việc và môi trường làm việc sau này
Em cũng xin cảm ơn quý thầy cô trong khoa đã tận tình giảng dạy và trang bị cho
em những kiến thức cần thiết Chính những kiến thức này hỗ trợ em rất trong việc hoàn thành khóa thực tập doanh nghiệp
Mặc dù em đã cố gắng hoàn thành báo cáo thực tập doanh nghiệp Tuy nhiên sẽ có những thiếu sót, rất mong nhận được sự thông cảm, chia sẻ của quý thầy cô để giúp em hoàn thành tốt bộ môn thực tập doanh nghiệp
Một lần nữa em xin chân thành cảm ơn !
Hồ Chí Minh, ngày 22 tháng 12 năm 2021
Sinh viên thực tập
Lê Nhị Khang
Trang 4LỜI CẢM ƠN CÔNG TY CỔ PHẦN LECLE VIETNAM
Em xin chân thành cảm ơn Công ty Cổ Phần LECLE Vietnam đã hỗ trợ, tạo điều kiện cho em được tham gia thực tập ở Công ty trong thời gian vừa qua
Em xin đặc biệt cảm ơn anh Nguyễn Mạnh Hùng đã tạo điều kiện cho em có môi trường thuận lợi để học hỏi và rèn luyện nâng cao các kỹ năng Em xin cảm ơn anh Huỳnh Bảo Quốc, anh Lâm Xuân Triết, anh Tạ Phi Phụng, anh Võ Duy Cận đã giúp đỡ, kèm cặp em trong suốt quá trình training và thực tập ở công ty Nhờ sự hướng dẫn của các anh đã giúp em có kinh nghiệm quý báu Những kinh nghiệm đó sẽ giúp em hoàn thiện hơn trong công việc và môi trường làm việc sau này
Mặc dù em đã cố gắng hoàn thành báo cáo thực tập doanh nghiệp Tuy nhiên sẽ có những thiếu sót, rất mong nhận được sự thông cảm, chia sẻ và góp ý của công ty để báo cáo của em có thể tốt và hoàn thiện hơn
Một lần nữa em xin chân thành cảm ơn !
Hồ Chí Minh, ngày 22 tháng 12 năm 2021
Sinh viên thực tập
Lê Nhị Khang
Trang 5NHẬN XÉT (Của giảng viên)
Trang 6
Trang 7
Mục Lục
PHẦN I GIỚI THIỆU TỔNG QUAN VỀ CÔNG TY 1
1 Sơ lược về công ty 1
2 Sản phẩm công ty 1
3 Văn hóa công ty 2
PHẦN II NỘI DUNG THỰC TẬP 2
1 Đào tạo hội nhập cho người mới của công ty 3
2 Nghiên cứu kỹ thuật 3
3 Thực hiện project: 4
PHẦN III CHI TIẾT VỀ PROJECT 5
1 Dự án 1: 5
2 Dự án 2: 8
PHẦN IV NỘI DUNG THỰC TẬP 10
3 Kết quả đạt được: 10
4 Thuận lợi và khó khăn trong quá trình thực tập 11
Trang 8PHẦN I GIỚI THIỆU TỔNG QUAN VỀ CÔNG TY
1 Sơ lược về công ty
Tên công ty: Công ty Cổ Phần LECLE Vietnam
Địa chỉ: 81 Cách Mạng Tháng Tám, Phường Bến Thành, Quận 1, Thành phố Hồ Chí Minh 700000
Điện thoại: 028 6295 8827
Công Ty Cổ Phần LECLE Viet Nam là một công ty phần mềm toàn cầu với các địa điểm tại Hàn Quốc, Mỹ, Singapore và Việt Nam Công ty cung cấp các giải pháp phù hợp nhất với khách hàng trong một môi trường kết hợp các nền văn hóa và công nghệ đa dạng.
Trước khi về Việt Nam, Lecle đã triển khai 3 dịch vụ toàn cầu trong 3 năm Tuy nhiên các dịch vụ này đều thất bại vì đã cố gắng giải quyết toàn vẹn vấn đề với phúc lợi cho lập trình viên.
Là một công ty phát triển phần mềm với mong muốn trở thành một công ty
có thể biến ý tưởng trở thành sản phẩm một cách nhanh và hiệu quả nhất với cách triển khai các kỹ thuật tiên tiến nhất để tạo ra kiệt tác với mọi dự án.
Slogan: Ideas turned into business
2 Sản phẩm công ty
Một số sản phẩm công cộng của công ty:
9cam - Ứng dụng để chụp hoàn hảo từng pixel mà không cần lo lắng
về filter, độ phơi sáng, độ sáng, …
Bombus - Một Website để thiết kế các nhân vật 2D, 3D, hình nền, hoạt ảnh và các thiết kế đồ họa liên quan với VFX
1
Trang 9 Crypto Badge - Một hệ thống chứng chỉ dựa trên blockchain để xác nhận chuyên gia, thành tựu và các đóng góp.
Bell Boy - Một ứng dụng khách sạn hiện đại hỗ trợ khách làm thủ tục đặt phòng nhanh chóng và sử dụng dịch vụ phòng
Meetera - Dùng cho bất kỳ ai muốn tổ chức hội thảo Tìm kiếm và tham gia những cuộc hội thảo nào đang có sẵn
3 Văn hóa công ty
- Giờ làm việc của nhân viên lúc 9h và có daily meeting hàng ngày lúc 9h30 để báo cáo tiến độ công việc Sẽ trao đổi với nhau trên slack.
- Có các channel để trao đổi với nhau về công việc, thông báo chung, xin phép Các channel riêng cho các dự án Có cac channel cho vui chơi giải trí ăn uống.
- Thời gian làm việc từ thứ 2 đến thứ 6 Cho intern tối thiểu 3 ngày một tuần Thời gian làm việc từ 9:00 AM đến 12:00 PM và 1:00 PM đến 6:00 PM
- Mỗi tháng có tổ chức một buổi monthly meeting để nói chuyện đúc rút kinh nghiệm của các thành viên trong team.
PHẦN II NỘI DUNG THỰC TẬP
Đợt thực tập với chủ đề “Lập trình mobile bằng flutter" nhằm mục đích giúp đào tạo sinh viên toàn diện về lập trình mobile đa nền tảng, đồ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 cộng đồng và tham gia các dự án thực tế của công ty… Thông qua đợt thực tập này, các sinh viên thực tập được đảm bảo cả về kỹ năng cứng lẫn mềm và làm quen được với các kiến thức mới cũng như những cách thức làm việc và những khó khăn thử thách trong môi trường làm việc công ty có quy mô lớn.
2
Trang 101 Đào tạo hội nhập cho người mới của công ty
- Thời gian: 1 ngày
- Nội dung:
• Giới thiệu về công ty Lecle
• Giới thiệu về Team mobile
• Giới thiệu các anh hướng dẫn
• Sinh hoạt về quy chế, điều lệ, phúc lệ công ty
- Kết quả: Tìm hiểu rõ hơn về hệ thống vận hành của công ty Lecle Tiếp thu và vận dụng các quy chế điều lệ, cách đảm bảo an toàn thông tin trong suốt quá trình làm việc
2 Nghiên cứu kỹ thuật
2.1 Tìm hiểu và học tập về ngôn ngữ Dart, công nghệ Flutter
- Thời gian: 3 tháng
- Nội dung:
• Làm quen các cú pháp của ngôn ngữ dart, lập trình các bài toán cơ bản
• Tìm hiểu Flutter là gì? Tại sao phải sử dụng Flutter? Flutter hoạt động như thế nào?
• Tìm hiểu và làm quen với Flutter
• Tìm hiểu các state management, sử dụng BLOC pattern
• Tìm hiểu về Animation, unit test, networking
• Tìm các ví dụ thực tế lập trình flutter
- Thực hiện: Làm 1 dự án cá nhân về to-do list
- Kết quả: Hiểu biết rõ căn bản về Flutter cũng như cách phát triển một app mobile trên Flutter
2.2 Nghiên cứu cách xây dựng mã nguồn và sử dụng các công cụ dựa trên logic nghiệp vụ của công ty
- Thời gian: 1 tuần
- Nội dung:
• Thiết kế giao diện ứng dụng dựa theo mẫu code của công ty
• Tìm hiểu cách sử dụng dependency injection và repository class
3
Trang 11• Tìm hiểu cách sử dụng Postman, fetch API trong Flutter
• Sử dụng gitlab để quản lý
• Sử dụng notion để tạo note
- Thực hiện: Thiết kế giao diện và ráp API với app demo
Kết quả: Hoàn thành kiến thức cơ bản trong nghiệp vụ công ty
3 Thực hiện project:
Sau 1 tuần làm quen với công ty và quy trình làm việc, thực hiện một số code làm quen tôi được tham gia dự án chính Dự án outsourcing về chỉnh sửa video Đó là một dự án thú vị và có nhiều kiến thức hay và mới lạ, cùng với sự giúp đỡ của những anh hướng dẫn để nắm bắt được vòng đời phát triển một dự thực tế
Thời gian
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
Nguyễn Mạnh Hùng Nguyễn Thảo Quỳnh Uyên
1 - Tìm hiểu pattern nâng cao như bloc,
dependency injection,
Lâm Xuân Triết
2 - Thiết kế các Widget, màn hình chi tiết theo
wireframe khách hàng
Huỳnh Bảo Quốc
2 - Nâng cấp, màn hình chi tiết theo designer Nguyễn Thị Nguyệt
Như
4 - Tiến hành ráp API cho màn hình
- Review logic, UI/UX màn hình
Huỳnh Bảo Quốc Lâm Xuân Triết
Võ Duy Cận
4
Trang 121 - Release sản phẩm demo cho khách hàn
- Đưa sản phẩm lên các cửa hàng như AppStore
và Playstore
Nguyễn Xuân Trường
Sau khi sang tuần thứ 9 tôi được tham gia thêm vào một dự án thực tế khác của công ty cũng được bắt đầu thời điểm với dự án trên Đó là dự án về E-Commerce Tuy có một số khó khăn khi tham gia giữa chừng nhưng nhờ sự giúp đở của các anh tôi đã làm quen rất nhanh và học hỏi được thêm được những kiến thức mới
Thời gian
(Tuần)
dẫn
1 - Tìm kiến trúc mã nguồn của dự án
- Thực hiện một số màn hình, và api cơ bản
Tạ Phi Phụng
1 - Release sản phẩm demo cho khách hàn
- Đưa sản phẩm lên các cửa hàng như AppStore và Playstore
Tạ Phi Phụng
PHẦN III CHI TIẾT VỀ PROJECT
1 Dự án 1:
Đây là một dự án Video Editor dựa trên ngôn ngữ chính là tiếng hàn Vì là dự án thực tế nên các thông tin chi tiết về dự án không được tiết lộ
Mục tiêu của ứng dụng: Cung cấp một nền tảng cho phép chỉnh sửa, cắt ghép và tạo các video theo style, album…
Dự án với kiến trúc mã nguồn được xây dựng bởi a Lâm Xuân Triết, với cái quy ước chặt chẻ Bộ sườn rất đầy đủ và tối ưu Khiến quá trình lập trình tuy khó làm quen lúc đầu nhưng lại giúp phát triển rất nhiều về tư duy và thói quen lập trình một cách có nguyên tắc và tái sử dụng cao
Có các thiết kế sau:
5
Trang 13Màn hình album
6
Trang 14Màn hình album detail
7
Trang 15Màn hình play video
2 Dự án 2:
Đây là một dự án E-Commerce dựa trên ngôn ngữ chính là tiếng hàn Đây cũng là một dự án outsourcing thực tế nên không tiện để lộ các thông tin chi tiết
Mục tiêu của ứng dụng: Cung cấp một nền tảng cho phép thực hiện giao dịch giữa người mua và người bán với các loại hàng hóa như quần áo, túi xách …
8
Trang 16Dự án có kiến trúc được thiết kế bởi anh Tạ Phị Phụng, có rất nhiều các package quản lý hay và sử dụng decorator partern Với những đoạn code hay đã được anh viết sẳn
Có các thiết kế sau:
Màn hình like tab
9
Trang 17Màn hình store
PHẦN IV NỘI DUNG THỰC TẬP
1 Kết quả đạt được:
1.1 Kiến thức
• Sau quá trình làm cùng chung dự án cùng các cố vấn, kiến thức về lập trình mobile (Flutter) được nâng cao
10
Trang 18• Nâng cao các kiến thức về mẫu thiết kế, tổ chức mã nguồn và logic các loại nghiệp vụ
1.2 Kỹ năng
• Nâng cao kỹ năng giao tiếp giữa các thành viên, kỹ năng làm việc có kế hoạch
• Kỹ năng tổ chức mã nguồn theo mẫu thiết kế, quy ước chuẩn
• Kỹ năng viết mã lập trình rõ ràng, dễ hiểu và tái sử dụng
• Kỹ năng tìm và phát hiện lỗi, đặt điểm dừng để sửa lỗi
• Kỹ năng sử dụng các công cụ hỗ trợ lập trình
1.3 Kinh nghiệm
• Kinh nghiệm của bản thân sau khi thực tập được nâng cao với những kinh nghiệm làm việc theo từng dự án sao cho tối ưu nhất khi bảo trì phần mềm, kinh nghiệm liên quan đến phong cách lập trình dễ đọc dễ hiểu
• Học tập được nhiều hơn về cách phân bổ thời gian sao cho không làm chậm tiến trình của dự án
• Có thêm kinh nghiệm sửa lỗi, và lập trình rõ rang hơn, biết cách giao tiếp với các thành viên ở các vị trị khác để đạt được kết quả cao nhất
• Với kinh nghiệm của các anh chị khi được làm việc chung đã truyền đạt kinh nghiệm làm việc nhóm sao cho hiệu quả nhất tránh việc không mong muốn xảy ra trong quá trình phát triển phần mềm Khả năng giao tiếp với các thành viên sao cho thành viên dễ nắm bắt, dễ hiểu
2 Thuận lợi và khó khăn trong quá trình thực tập
2.1 Thuận lợi
• Trong quá trình thực tập em nhận được sự giúp đỡ, chỉ dạy nhiệt tình của các anh chị trong công ty cả về kiến thức chuyên môn lẫn phong cách làm việc
• Trước khi vào làm việc chính thức em đã được tham gia khóa học về flutter
do Devera tổ chức và được công ty Lecle hỗ trợ và có các anh trực tiếp giảng dạy
• Ngoài ra, được công ty hỗ trợ chi phí và trợ cấp, hỗ trợ các điều kiện tốt trong thời điểm làm việc từ xa
2.2 Khó khăn
• Trong quá trình thực tập vì còn là người mới nên vẫn chưa nắm rõ về quy trình, kiến thức còn chứa nhiều nên việc lập trình còn chưa tối ưu, còn xảy
ra nhiều lỗi
11
Trang 19• Vì thời gian thực tập có giới hạn vì vậy không thể tham gia hết dự án của công ty, chưa thể nắm rõ hết toàn bộ quy trình của một dự án thực tế
• Kỹ năng giao tiếp và diễn đạt còn chưa tốt, không được tiếp xúc trực tiếp nên còn nhiều khó khăn trong việc học tập thêm các kiến thức từ các anh
12