1. Trang chủ
  2. » Tất cả

Báo Cáo Thực Tập Lập Trình Flutter.doc

14 20 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Thực Tập Lập Trình Flutter
Tác giả Cao Nguyễn Minh Quân
Người hướng dẫn Đặng Quang Trung
Trường học Trường Đại Học Công Nghệ Thông Tin - Khoa Công Nghệ Phần Mềm
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Báo cáo thực tập
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 14
Dung lượng 257,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

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 FLUTTER Công ty thực tập Tập đoàn công nghê Unicloud Người phụ trách Đặng Quang Trung Thực tập sinh Cao Nguyễn Min[.]

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

LẬP TRÌNH FLUTTER

Trang 2

LỜI MỞ ĐẦU

Ngày nay, ngành công nghiệp phát triển ứng dụng di động là một bộ phận không thể thiếu của ngành công nghiệp phần mềm Với tốc độ phát triển vô cùng mạnh mẽ, ngành di động

đã và đang là nhân tố kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng

và phần mềm

Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ Ngành công nghiệp di động ở Việt Nam đã và đang phát triển mạnh mẽ, để hòa nhập với những công ty hàng đầu về phát triển phần mềm trên thế giới

Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như muốn được tham gia làm ứng dụng di động trong một môi trường chuyên nghiệp, em có dự định

là sẽ thực tập trong học kì này Vì vậy, em quyết định chọn Unicloud - một tập đoàn công nghệ

lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này

Trang 3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Tập đoàn Công nghệ Unicloud đã 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 nhóm trainer, nhóm thực tập chúng 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 Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian,công sức để hướng dẫn chúng em hoàn thành đợt thực tập này

Đặc biệt cảm ơn anh Đặng Quang Trung, trưởng nhóm Front-end, đã hướng dẫn, giúp đỡ

cho chúng em tận tình cả 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 Trần Nhật Tân, trưởng nhóm dự án, hỗ trợ chúng em rất nhiều về

các kiến thức liên quan tới lập trình di động đặc biệt là về Flutter, để có thể làm ra một sản phẩm trong thời gian qua

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

Cao Nguyễn Minh Quân TpHCM, 18/12/2022

Trang 4

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 6

1 Giới thiệu công ty Unicloud 6

2 Sản phẩm của công ty 6

Chương 2: Nội dung thực tập 8

1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 8

2 Nghiên cứu kỹ thuật 8

2.1 Các công cụ làm việc 8

2.2 Tìm hiểu ngôn ngữ Dart và Git 9

2.3 Tìm hiểu về Framework Flutter 9

2.4 Thực hiện project 10

2.5 Lịch làm việc 10

Chương 3: Chi tiết về project 13

1 Giới thiệu dự án 13

2 Thực hiện 13

3 Kế hoạch 13

3.1 Giai đoạn 1 13

3.2 Giai đoạn 2 13

Tài liệu tham khảo 14

Tổng kết 15

Trang 6

Chương 1: Giới thiêu công ty thực tập

1 Giới thiệu công ty Unicloud

Unicloud Group Tiền thân là Công ty CP Đầ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, Công ty CP Tập đoàn Công nghệ Unicloud hiện có hơn 300 thành viên tại trụ sở Hà Nội và chi nhánh TP HCM, cùng 2 công ty con là Unicloud Investment và Nanochip

Unicloud Group 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 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

SMART TELLER MACHINE - Giải Pháp Về Phần Cứng Giao Dịch 24/7

Thay thế giao dịch viên thực hiện các giao dịch ngân hàng truyền thống, giải phóng thao tác nhân viên và cho phép giao dịch viên tập trung vào tư vấn, bán hàng các sản phẩm cao cấp Tùy chọn cấu hình thay đổi theo nhiệm vụ triển khai và theo yêu cầu triển khai thực tế

GIẢI PHÁP PHẦN MỀM NGÂN HÀNG SỐ

Trang 7

Gói giải pháp giao dịch ngân hàng trực tuyến, tận dụng sức mạnh của thiết bị di động và các giải pháp tiên tiến của các nhà sản xuất lớn Hỗ trợ API và Microservice, cho phép tổ chức tài chính triển khai sản phẩm mới linh hoạt, nhanh chóng đến tay người dùng, đồng thời tuân thủ tuyệt đối quy định của Ngân hàng Nhà nước Việt Nam

UNI SERVICES - Dịch Vụ Bảo Trì Máy ATM/STM

Đội ngũ chuyên gia của Unicloud được trang bị đầy đủ kiến thức để đánh giá, phân tích, hiểu

rõ và chẩn đoán các sự cố về vận hành máy về phần cứng cũng như phần mềm liên quan tới các máy ATM/STM nhằm đưa ra các giải pháp thích hợp, nhanh chóng cho nhiều loại máy khác nhau tới từ các thương hiệu khác nhau như GRG, Cashway, NCR…

Trang 8

Chương 2: Nội dung thực tập

Đợt thực tập vừa qua, em ứng tuyển vào công ty với vị trí là Thực tập sinh Mobile (Flutter) Trong khoảng thời gian đó, em đã được trải nghiệm tham gia vào một dự án thực tế về

‘E-KYC DEMO’, được tiếp xúc với môi trường làm việc năng động sáng tạo Đồng thời được tiếp xúc với quy trình phát triển dự án cũng như bảo trì và phát triển dự án trong công ty

1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty

Nội dung : Giới thiệu về công ty, cách tổ chức của công ty

Được tham quan công ty và được giới thiệu về các bộ phận trong công ty cũng như các thông tin liên quan tới quá trình hình thành và định hướng phát triển 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 tuân thủ, sử dụng Email và Skype để giao tiếp

Kết quả : Hiểu thêm về công ty Unicloud, quá trình thành lập và phát triển 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 Các công cụ làm việc

Nội dung : Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc.

- JIRA: là công cụ được sử dụng để phân chia công việc và quản lý tiến độ làm việc

trong dự án

- Gitlab: là phần mềm dùng để quản lý mã nguồn được các công ty tổ chức ưa

chuộng

- Android Studio: là IDE phổ biến cho các lập trình viên Mobile cũng như Flutter

- Figma: là công cụ thiết kế UX/UI

- Swagger/HTTPie: là công cụ xây dựng OpenAPI giúp thiết kế, xây dựng tài liệu,

và sử dụng RestAPI

Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.

Trang 9

Kết quả : Đã tìm hiểu về các công cụ ở trên

2.2 Tìm hiểu ngôn ngữ Dart và Git

Nội dung : Được tìm hiểu về ngôn ngữ Dart, những kiến thức quan trọng cho việc tối

ưu trên Android Đồng thời được tìm hiểu về Git cũng như Gitlab

Thực hiện :

- Tự tìm hiểu về Dart và Git

- Tham gia bài Quiz nhỏ giữa các thành viên trong team

Kết quả :

- Nâng cao kỹ năng lập trình với ngôn ngữ Dart

- Hiểu được quy tắc lập trình trong công ty

- Ngoà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.3 Tìm hiểu về Framework Flutter

Nội dung: Tìm hiểu về các hoạt động của Flutter cũng như cách thức ứng dụng bằng

Flutter hoạt động

Thực hiện :

- Đọc tài liệu, tìm hiểu và làm demo về Flutter Bloc Clean Architechture

Kết quả :

- Hiểu được các vận hành của Flutter cũng như cách xây dựng một ứng dụng Flutter cũng như cấu trúc thư mục trên Flutter

Trang 10

căn cước công dân, định danh hộ chiếu, xác thực khuôn mặt, so sánh trùng khớp khuôn mặt Dự án này em chia thành 2 giai đoạn do có những vấn đề đặc biệt:

- Giai đoạn 1: Xây dựng demo E-KYC trên bản Mobile và Web, có 2 người tham gia (2 thực tập sinh)

- Giai đoạn 2: Bảo trì và thay đổi hướng phát triển dự án do những vấn đề phát sinh

ở giai đoạn 1, có 3 người tham gia (2 thực tập sinh và 1 người hướng dẫn)

2.5 Lịch làm việc

Mức độ hoàn thành

Nhận xét của người hướng dẫn

1

Tìm hiểu về Flutter, Git,

đặc biệt là package

Camera của Flutter

Anh Đặng Quang Trung 100% Hoàn thành tốt

Từ tuần 2

– tuần 8

Giai đoạn 1:

Phân tích dự án, xây

dựng những chức năng

cơ bản để có bản demo

trên Mobile và Web

Anh Đặng Quang Trung 100% Hoàn thành tốt

Từ tuần 8

– tuần 11

Giai đoạn 2:

Bảo trì và sửa đổi những

vấn đề phát sinh trong

giai đoạn 1

Anh Đặng Quang Trung, Anh Trần Nhật Tân

100% Hoàn thành tốt

12

Demo sản phẩm version

hiện tại và chuẩn bị cho

version tiếp theo

Anh Đặng Quang Trung, Anh Trần Nhật Tân

100% Hoàn thành tốt

Trang 11

Chương 3: Chi tiết về project

1 Giới thiệu dự án

Tên dự án: EKYC Demo

Giới thiệu: EKYC Demo là một ứng dụng nhằm mục đích demo các chức năng cơ bản liên quan tới EKYC bao gồm định danh các loại thẻ bao gồm căn cước công dân, hộ chiếu và xác thực khuôn mặt bao gồm xác thực khuôn mặt thông qua cử chị cả khuôn mặt và xác thực khuôn mặt thông qua cử chỉ mũi, xác thực khuôn mặt thông qua hình ảnh và so sánh trùng khớp hai khuôn mặt

2 Thực hiện

- Thực tập sinh: Cao Nguyễn Minh Quân

- Thực tập sinh: Nguyễn Doãn Thịnh

- Trưởng dự án: Đặng Quang Trung

Trang 12

1 OCR (Optical Character Recognition)

- OCR là quá trình nhận diện các ký tự trên giấy tờ, chức năng chính OCR là nhận diện các loại giấy tờ như Chứng minh nhân dân/ Căn cước công dân, Hộ Chiếu

2 Passive Liveness

- Passive Liveness là quá trình xác thực nhận diện khuôn mặt mà không cần hành động của con người, có thể nhận diện được các ảnh có khuôn mặt, hoặc khuôn mặt bị mờ

3 Face Matching

- Face Matching là quá trình so sánh khuôn mặt thông qua hình ảnh, mặt thật nhằm xác định khuôn mặt có giống nhau không

4 Profile Liveness

- Profile Liveness là quá trình nhận diện khuôn mặt qua cử chỉ của mũi

Các package chính đã nghiên cứu và sử dụng: Package Camera, Package Image Picker, Package Google ML Kit Face Detection (Dễ sử dụng, do Google phát triển và có tài liệu nhiều, nhược điểm là chỉnh có bản Mobile Only), Package FaceAPI (package này là packgage của NPM viết bằng JS – lấy ý tưởng từ TensorFlow Detect Face)

Đã làm: Đã nâng cao được hiệu suất của ứng dụng bằng một số phương pháp, thay đổi được cách quản lý State của ứng dụng từ Provider sang Bloc cũng như thiết kế hệ thống theo Clean Architecture để dễ bảo trì và phát triển

Trang 13

Tổng kết

Như vậy, chỉ trong vòng ba tháng, nhóm đã hoàn thành một phần mềm chạy được trên cả Web và di động Phần mềm đã đáp ứng được những yêu cầu cơ bản của khách hàng và cũng đã được tối ưu hóa để có thể sẵn sàng đưa lên cửa hàng và bản Web cũng dần hoàn thiện được những lỗi để tối ưu tốt hơn Phần mềm cũng đã được chuẩn bị cho các phiên bản tốt hơn cho các lần tiếp theo

Chân thành cảm ơn sự giúp đỡ của các anh chị trong nhóm Front-end, sự chỉ bảo của anh Trần Nhật Tân và anh Đăng Quang Trung Cảm ơn các quý thầy cô của trường Đại học Công nghệ thông tin, đặc biệt là các thầy cô trong khoa Công nghệ phần mềm đã

hỗ trợ em trong quá trình tìm việc, thực tập và quá trình hoàn thiện báo cáo này

Trang 14

Tài liệu tham khảo

Về Flutter

https://docs.flutter.dev/

Về Camera

https://pub.dev/packages/camera

Về Image Picker

https://pub.dev/packages/image_picker

Về Google Machine Learning Kit (nhận diện khuôn mặt) phiên bản Mobile

https://pub.dev/packages/google_mlkit_face_detection

Về Face Detection (nhận diện khuôn mặt) phiên bản Web

https://github.com/vladmandic/face-api

Ngày đăng: 01/02/2023, 21:16

TỪ KHÓA LIÊN QUAN

w