báo cáo thực tập lập trình ứng dụng di động với flutter

16 0 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo thực tập lập trình ứng dụng di động với flutter

Đ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

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM

Trang 2

LỜI MỞ ĐẦU

Trong thời đại công nghệ di động bùng nổ, điện thoại di động đã trở thành một côngcụ không thể thiếu trong cuộc sống Với hàng tỷ ứng dụng đa dạng trên các nền tảngdi động, nó mang lại sức mạnh và tiềm năng vô hạn trong việc thay đổi, kết nối và tạora sự tiện ích cho thế giới xung quanh.

Sau khoảng thời gian học tập tại trường, khi đã có những kiến thức và nền tảng nhấtđịnh, sinh viên được khoa CNPM tạo điều kiện và khuyến khích thực hiện học phầnThực Tập Doanh Nghiệp Đây là cơ hội tốt để sinh viên có thể áp dụng những kiếnthức, kỹ năng mà bản thân đã đạt được vào sử dụng thực tế Đồng thời cũng là bướcchuyển mình, chuẩn bị cần thiết cho sinh viên sớm tiếp cận với môi trường làm việc,giúp sinh viên có được cái nhìn về thị trường lao động, có được mạng lưới quan hệcần thiết, giúp sinh viên phát triển sự nghiệp trong tương lai.

Với những mong muốn trên, em đã quyết định đăng ký thực tập tại Công ty TNHHCadena Việt Nam để giúp bản thân học hỏi cũng như trau dồi thêm kiến thức chobản thân về nhiều mặt.

2

Trang 3

Đặc biệt cảm ơn mentor Hiếu đã hướng dẫn, chia sẻ, giúp đỡ để em hòa nhập, học hỏi kinhnghiệ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ềukiện em làm báo cáo này

TP HCM, ngày 25 tháng 12 năm 2023

Nguyễn Huy Đức

Trang 5

LỜI CẢM ƠN 3

NHẬN XÉT CỦA KHOA 4

MỤC LỤC 5

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 6

1.1 Giới thiệu công ty 6

1.2 Sản phẩm công ty 6

1.3 Lịch làm việc khi thực tập tại công ty 8

CHƯƠNG 2: NỘI DUNG THỰC TẬP 9

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

2.2 Nghiên cứu kỹ thuật 9

Trang 7

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP

1.1 Giới thiệu công ty

- Tên công ty: Công ty TNHH Cadena Việt Nam

- Lịch sử: Có nguồn gốc từ Hà Lan, có trụ sở chính tại Singapore, Cadena kết hợpniềm đam mê hướng tới sự hài lòng của khách hàng, đổi mới công nghệ và kiến thứcchuyên môn sâu về ngành cũng như quy trình kinh doanh Với gần 15 năm kinhnghiệm, công ty đã phát triển trở thành một trong những nhà cung cấp Hệ thốngThông tin Nhân sự hàng đầu tại Đông Nam Á.

Trang 8

+ Quản lý nguồn nhân lực chiến lược - Thu hút, phát triển, khen thưởng và giữ chânnhân viên vì lợi ích của cả nhân viên cũng như toàn bộ tổ chức bằng cách sử dụng cácmô-đun nhân sự chiến lược; năng lực, đánh giá hiệu quả công việc, tuyển dụng vàđào tạo.

+ Sự gắn kết của nhân viên - Thu hút nhân viên thông qua nhiều hoạt động chứcnăng tự phục vụ của nhân viên.

- Tembo Pay (https://tembo-pay.com)

8

Trang 9

+ Tembo Pay là một ứng dụng tính lương SaaS được thiết kế cho các doanh nghiệpvừa và nhỏ Ứng dụng sẵn sàng sử dụng sau khi người dùng đăng ký.

+ Đơn giản hóa cách bạn thực hiện các nhiệm vụ nhân sự và tính lương hàng ngàyvới Tembo Pay.

+ Tembo Pay giải quyết các mối lo ngại về tiền lương của bạn vì nó dễ dàng, tuânthủ, an toàn, dễ tiếp cận và tiết kiệm chi phí.

1.3 Lịch làm việc khi thực tập tại công ty

● Thời gian làm việc: bắt đầu từ ngày 20/09/2023 và kết thúc vào ngày20/12/2023

● Thời gian thực tập trong tuần (làm việc part-time): thứ hai đến thứ sáu.● Giờ làm việc: bắt đầu từ 8h30 cho đến 17h30.

● Thời gian nghỉ trưa: khoảng 1 tiếng 30 phút (từ 12h – 1h30)

Trang 10

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 tyThời gian: 1 ngày

Nội dung: Được nghe người phụ trách giới thiệu tổng quan về công ty, bao gồm cảquá trình thành lập và phát triển của công ty, giới thiệu về sứ mệnh và mục tiêuchính của công ty, cũng như vai trò quan trọng mà nó đóng góp trong ngành côngnghiệp.

Bên cạnh đó, thực tập sinh cũng đã được hướng dẫn về quy trình làm việc từ caoxuống thấp trong công ty, hiểu rõ về cấu trúc tổ chức của công ty và sự phân chianhiệm vụ giữa các bộ phận Điều này giúp em có cái nhìn tổng quan về cách thức tổchức và phối hợp công việc.

Kết quả: hiểu thêm về công ty, quá trình thành lập và phát triển, các hoạt động trongviệc xây dựng phần mềm Có thêm các kỹ năng về lập trình và tư duy 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.2 Nghiên cứu kỹ thuật

● Flutter: Flutter là một framework phát triển ứng dụng di động đa nền tảng,cho phép xây dựng giao diện người dùng đẹp và tương tác trên cả iOS vàAndroid Em đã tìm hiểu và áp dụng Flutter để phát triển giao diện và tích hợpcác tính năng vào ứng dụng.

● Visual Studio Code: Visual Studio Code là một trình biên tập mã nguồn mở vàmạnh mẽ, hỗ trợ nhiều ngôn ngữ lập trình và tích hợp các công cụ hữu ích Emđã sử dụng VS Code để viết và kiểm tra mã nguồn, quản lý phiên bản và thựchiện gỡ lỗi trong quá trình phát triển ứng dụng.

● Git và GitHub: Em đã sử dụng Git và GitHub để theo dõi, quản lý và chia sẻ mãnguồn trong quá trình làm việc nhóm và phát triển.

10

Trang 11

● Figma: Figma là một công cụ thiết kế giao diện người dùng dựa trên trìnhduyệt, cho phép tạo và cộng tác trực tuyến trong quá trình thiết kế Em đã sửdụng Figma để tạo và xem trước các giao diện người dùng, làm việc cùng nhauvà đảm bảo sự nhất quán trong quá trình phát triển ứng dụng.

● Postman: Thông thường tool này được sử dụng bởi Developers trong giaiđoạn phát triển sản phẩm, cụ thể là ở bước unit test Có thể sử dụng postmanhoàn toàn kiểm tra chất lượng của sản phẩm thông qua các kết quả trả về màkhông cần quan tâm tới giao diện của sản phẩm.

Kết quả: Việc áp dụng các công cụ này đã giúp em làm việc hiệu quả, tăng cường khảnăng cộng tác và đạt được kết quả tốt trong quá trình thực tập.

2.2.2 Tuần 2&3

Nội dung: Tìm hiểu Widget, API và State Management

● Flutter là thế giới của những Widget Từ một Container đơn giản cho đến mộtButton hay bất kỳ thành phần nào bạn tạo ra đều là Widget Widget là nhữngkhối cơ bản dùng để xây dựng và tái sử dụng Có hai loại Widget là Stateless vàStateful Widget Stateless Widget không mang trạng thái, nghĩa là một khi đãđược khởi tạo, nó sẽ không thể bị thay đổi cho đến khi nó được khởi tạo lại.Mặt khác, Stateful Widget động và có mang trạng thái, nghĩa là chúng có thểthay đổi trong suốt vòng đời mà không cần phải khởi tạo lại.

● API (Application Programming Interface) : Hiểu đơn giản là một cách thức đểmột ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thànhphần khác …Kiểu dữ liệu mà API trả về có thể là file JSON hoặc XML.

● BLoC là 1 hệ thống quản lý state cho Flutter được đề nghị bởi Googledevelopers Nó giúp lập trình viên quản lý state và luồng dữ liệu trong ứngdụng, dữ liệu được chuyển từ BLOC đến UI hoặc ngược lại từ UI xuống BLOCdưới dạng STREAMS.

Kết quả: Nâng cao kỹ năng lập trình, giao diện dễ sử dụng cho người dùng, tối ưu hóabố trí đơn giản và hiệu quả Hiểu và áp dụng API và BloC State Management.

2.2.3 Tuần 4

Nội dung: Nghiên cứu và tương tác với Backend sử dụng Flutter

Trong tuần này, em tìm hiểu cơ bản về tương tác backend để giao tiếp và trao đổi dữliệu giữa ứng dụng di động và server backend Tìm hiểu cách gửi yêu cầu HTTP (GET,POST, PUT, DELETE) đến server backend qua RESTful API, ứng dụng di động nhận kết

Trang 12

Sử dụng giao thức HTTP và thư viện HTTP: Trong quá trình tương tác với backend,Flutter hỗ trợ giao thức HTTP để gửi yêu cầu và nhận phản hồi từ server Có nhiềuthư viện HTTP được sử dụng trong Flutter như http, dio, hoặc chính phương thứcfetch được tích hợp sẵn trong Dart.

Xử lý dữ liệu nhận được: Sau khi nhận được dữ liệu từ backend, ứng dụng di độngcần xử lý và hiển thị thông tin đó cho người dùng Em cần phải phân tích dữ liệu từđịnh dạng JSON, chuyển đổi và lưu trữ dữ liệu vào các cấu trúc dữ liệu phù hợp trongứng dụng.

Kết quả: Em đã thành thạo các vấn đề cơ bản việc tương tác với backend và xử lý dữliệu trong ứng dụng.

2.3 Thực hiện dự án cá nhân2.3.1 Công nghệ

● Flutter● Dart● Firebase● Figma2.3.2 Mô tả dự án

Vì lý do bảo mật và chính sách được quy định trong hợp đồng lao động, em xin khôngđược tiết lộ các thông tin chi tiết về dự án, nhưng em vẫn sẽ có thể giới thiệu sơ lượcvề các công việc em đã làm.

Dự án này sử dụng Flutter để phát triển một ứng dụng di động đa nền tảng nhằmquản lý nhiệt độ và ánh sáng trong các ngôi nhà thông minh Ứng dụng này cung cấpmột giao diện người dùng hiện đại và dễ sử dụng để điều khiển các thiết bị thôngminh, đồng thời giúp người dùng tối ưu hóa tiện ích và tiết kiệm năng lượng.

Các giai đoạn đã thực hiện:- Nghiên cứu và phân tích:

● Phân tích các tính năng và chức năng cần thiết cho ứng dụng.

● Nghiên cứu về các app có cùng tính năng trên thị trường để tham khảovà xem xét xác định yêu cầu cụ thể.

- Thiết kế bản mẫu và giao diện:

12

Trang 13

● Thiết kế bản mẫu bằng công cụ Figma Bản thiết kế này sẽ cần chỉ rõ cáctương tác về nút bấm, các luồng chuyển qua lại giữa các màn hình vàtính năng chính của chúng.

● Tạo wireframes và mockups để mô phỏng giao diện, nhận phản hồi từmentor và điều chỉnh thiết kế.

- Xây dựng và phát triển các tính năng cơ bản:

Trong giai đoạn xây dựng này, em chia nhỏ thành các công việc khác nhau và hoànthành chúng trong thời gian đã dự tính:

● Dựng UI theo bản mẫu

● Tính năng Điều Khiển Đèn Và Nhiệt Độ● Tính năng Lên Lịch Điều Khiển Tự Động● Tính năng Thống Kê Tiêu Thụ Năng Lượng● Tính năng Thông Báo Và Cảnh Báo

● Tính năng Tích Hợp Với Các Thiết Bị Thông Minh Khác- Kiểm thử và sửa lỗi:

● Đảm bảo ứng dụng hoạt động ổn định và không có lỗi đáng kể.● Tiến hành kiểm thử chức năng và kiểm thử hiệu suất.

● Sửa lỗi và điều chỉnh dựa trên kết quả kiểm thử.

Trang 14

CHƯƠNG 3: TỔNG KẾT

Quãng thời gian thực tập tại công ty TNHH Cadena đã giúp em cải thiện bản thân rấtnhiều trong quy trình làm việc thực tế, có cơ hội phát triển và cải thiện bản thântrong vai trò một kỹ sư phần mềm Tại đây, em đã áp dụng kiến thức và kỹ năng củamình vào quá trình phát triển dự án phần mềm Thông qua dự án thực tế do công tyđề ra, em đã học thêm được những kỹ năng mềm hữu ích và khi tham gia vào dự ánthực tế, em cũng hoàn thành tốt các tác vụ đúng hạn và đạt chất lượng tốt.

3.1 Điểm mạnh

● Áp dụng kiến thức và kỹ năng: Em đã có cơ hội áp dụng kiến thức và kỹ năngcủa mình vào việc phát triển dự án phần mềm thực tế Điều này cho phép emtrải nghiệm và rèn luyện những khả năng lập trình, thiết kế giao diện, vàtương tác với backend.

● Rèn luyện tác phong làm việc: Thực tập đã tôi rèn luyện tác phong làm việccủa một kỹ sư phần mềm trong môi trường thực tế Có cơ hội làm việc nhóm,giao tiếp với đồng nghiệp và đồng đội, và hiểu rõ hơn về quy trình làm việctrong một công ty.

● Hoàn thành tốt và đúng hạn các tasks được phân công và luôn tìm tòi, học hỏicác công nghệ mới.

G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp

9/10G2 Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ 9/10

14

Trang 15

thống trong dự án

G3 Nắm được quy trình, phương pháp và công nghệ phát triển sản phẩm phần mềm tại doanh nghiệp

9/10G4 Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham gia giải quyết

vấn đề

10/10G5 Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình bày 8/10G6 Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh 9/10

Trang 16

TÀI LIỆU THAM KHẢO

Flutter là gì? Ưu điểm vượt trội ra sao để làm một ứng dụng mobile (2023, March 01)

Retrieved from TopDev: https://topdev.vn/blog/flutter-la-gi/

Flutter, B (2021, August 5) Rest Api Trong Lập Trình flutter - Hướng dẫn Chi Tiết Retrieved

from Báo Flutter: chi-tiet/

https://baoflutter.com/rest-api-trong-lap-trinh-flutter-huong-dan-Hamilton, T (2023, December 21) Postman tutorial – how to use for API testing? Retrieved

from Guru99: 6AGa0xA1f4Hj1tZv2Fyf3nVcR_SgkXXLCrLGWUWRxozJrh4Nhrow

https://www.guru99.com/postman-tutorial.html?fbclid=IwAR0pUr-Martinekuan (2023, March 28) Web api design best practices - azure architecture center

Retrieved from Web API design best practices - Azure Architecture Center | Microsoft Learn: https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design

Quyet, N H (2020, October 21) Bloc pattern trong flutter Retrieved from Viblo:

16

Ngày đăng: 15/05/2024, 09:10

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan