1. Trang chủ
  2. » Công Nghệ Thông Tin

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

41 7 0

Đ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 Ứng Dụng Di Động Với Flutter
Tác giả Phan Phước Đính
Người hướng dẫn Đặng Vũ Thị Minh Phương
Trường học Trường Đại Học Bách Khoa TPHCM
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 2021
Thành phố TPHCM
Định dạng
Số trang 41
Dung lượng 3,08 MB

Cấu trúc

  • Chương 1: Giới thiệu công ty thực tập (0)
    • 1. Giới thiệu Trường Đại Học Bách Khoa TPHCM – Sau Đại Học (6)
    • 2. Chức năng, nhiệm vụ của Phòng Đào Tạo – Sau Đại Học (7)
  • Chương 2: Nội dung thực tập (9)
    • 1. Tìm hiểu trường và tổng quan nơi làm việc (9)
    • 2. Nghiên cứu kỹ thuật (9)
      • 2.1 Tìm hiểu CSDL Oracle (0)
      • 2.2 Tìm hiểu về Flutter (0)
      • 2.3 Lập trình Flutter (13)
    • 3. Thực hiện Project (17)
    • 4. Tìm hiểu về hệ thống hiện tại (0)
    • 5. Chi tiết thời gian thời gian thực tập (27)
  • Chương 3: Chi tiết ứng dụng của Project (0)
    • 1. Giới thiệu ứng dụng (0)
    • 2. Các tính năng (29)
    • 3. Đánh giá (37)
    • 4. Hướng phát triển (39)
  • TÀI LIỆU THAM KHẢO (41)

Nội dung

Giới thiệu công ty thực tập

Giới thiệu Trường Đại Học Bách Khoa TPHCM – Sau Đại Học

Trường Đại học Bách khoa – ĐHQG Tp HCM (ĐHBK) là một trong những trường đại học hàng đầu tại Việt Nam, với 24.000 sinh viên đại học và 1.600 học viên cao học ĐHBK đóng vai trò quan trọng trong việc bồi dưỡng nhân tài và cung cấp nguồn nhân lực chất lượng cao cho khu vực phía Nam Trường có 11 khoa chuyên môn và hai cơ sở đào tạo, một tại nội thành Tp HCM và một tại Huyện Dĩ An, Tỉnh Bình Dương.

Trường chú trọng phát triển đào tạo sau đại học nhằm xây dựng đội ngũ chuyên gia và nhà khoa học, đóng góp vào nghiên cứu và phát triển khoa học công nghệ, từ đó gia tăng nguồn tài nguyên tri thức và nâng cao tiềm lực kinh tế - xã hội cho đất nước Các chương trình đào tạo sau đại học không chỉ ổn định về chuyên ngành mà còn được đổi mới về nội dung, chương trình và phương pháp, đặc biệt là gắn kết đào tạo với nghiên cứu khoa học và đa dạng hóa hình thức đào tạo.

- Lĩnh vực hoạt động: Quản lý giáo dục

- Địa chỉ: 268 Lý Thường Kiệt, phường 14, quận 10, Thành phố Hồ Chí Minh

- Trang web: pgs.hcmut.edu.vn

- Email: sdh@hcmut.edu.vn

Chức năng, nhiệm vụ của Phòng Đào Tạo – Sau Đại Học

Chức năng của trường là triển khai công tác tổ chức và quản lý đào tạo, bồi dưỡng sau đại học, bao gồm cả các chương trình liên kết đào tạo sau đại học với nước ngoài.

Phòng ĐTSĐH chịu trách nhiệm quản lý chất lượng đào tạo sau đại học và phối hợp với các Khoa quản lý ngành, Khoa chuyên môn, cùng các Bộ môn để tổ chức và quản lý công tác đào tạo SĐH Nhiệm vụ chính của phòng bao gồm việc đảm bảo tiêu chuẩn chất lượng trong đào tạo và hỗ trợ các đơn vị liên quan trong quá trình này.

1 Phối hợp với các Khoa đề xuất phương hướng, kế hoạch phát triển, quy mô đào tạo SĐH (thạc sĩ, tiến sĩ, bồi dưỡng SĐH, ) cho các chuyên ngành đào tạo

2 Hỗ trợ các khoa xây dựng chương trình đào tạo SĐH

3 Thực hiện nhiệm vụ tuyển sinh và bồi dưỡng SĐH; phối hợp với các đơn vị liên quan trong công tác tuyển chọn đào tạo SĐH ở nước ngoài

4 Phối hợp với các khoa lập kế hoạch giảng dạy, lập thời khóa biểu; tổ chức giảng dạy, kiểm tra theo dõi tiến độ và chất lượng đào tạo các lớp SĐH của trường

5 Phối hợp với các khoa, phòng, ban chức năng, tổ chức và quản lý các chương trình phối hợp đào tạo SĐH với nước ngoài, các đề án, dự án đào tạo SĐH sử dụng ngân sách nhà nước, thông tin về SĐH trong và ngoài nước

6 Chủ trì việc soạn thảo quy chế, quy định học vụ, qui trình liên quan đến đào tạo SĐH và trình Hội đồng học vụ SĐH xem xét và góp ý Trên cơ sở góp ý của Hội đồng học vụ SĐH, Phòng đào tạo SĐH trình Hiệu trưởng ra quyêt định ban hành quy chế, quy định học vụ, qui trình liên quan đến đào tạo SĐH và kịp thời đề xuất những vấn đề cần điều chỉnh, bổ sung

7 Phối hợp với các bộ phận chức năng khác của Trường theo dõi và giám sát việc thực hiện các quy chế, quy định, qui trình này

8 Tập hợp, thống kê, xử lý và lưu trữ thông tin về học vụ SĐH Chịu trách nhiệm thống kê và xác nhận khối lượng giảng dạy lý thuyết, thực hành thí nghiệm cho bậc SĐH

9 Thực hiện công việc quản lý, bồi dưỡng SĐH: tổ chức đăng ký nhập học, đăng ký môn học; lập danh sách lớp; lập lịch thi học kỳ; quản lý điểm thi, hồ sơ học tập của học viên; phối hợp với khoa quản lý ngành xét tư cách học viên được nhận đề tài, được bảo vệ luận văn thạc sĩ; trình Hiệu trưởng ra quyết định giao đề tài, phân công phản biện, thành lập Hội đồng bảo vệ luận văn thạc sĩ; lập hồ sơ Hội đồng bảo vệ luận văn thạc sĩ; cấp bảng điểm tích lũy học kỳ, bảng điểm toàn khóa, chứng nhận hoàn thành môn học; trình Hiệu trưởng ra quyết định tốt nghiệp cao học; lập hồ sơ cấp bằng thạc sĩ; tổ chức cấp phát và quản lý văn bằng thạc sĩ do trường đào tạo; trình Hiệu trưởng xem xét và quyết định những trường hợp bảo lưu kết quả tuyển sinh, chuyển cơ sở đào tạo, chuyển khóa đào tạo, ngừng học, tiếp tục học, gia hạn thời gian học tập, cho thôi học; tham mưu Hiệu trưởng trình Đại học Quốc gia Tp Hồ Chí Minh xem xét quyết định những vấn đề học vụ cao học quá thời hạn đào tạo

10 Thực hiện các công việc học vụ nghiên cứu sinh: tổ chức đăng ký nhập học, đăng ký môn học, đăng ký bộ môn đào tạo; trình Hiệu trưởng ra quyết định công nhận cán bộ hướng dẫn và đề tài luận án tiến sĩ của nghiên cứu sinh, quyết định về chuyên đề tiến sĩ; cấp bảng điểm môn học; chứng nhận hoàn thành môn học; trình Hiệu trưởng ra quyết định thành lập các hội đồng đánh giá chuyên đề tiến sĩ, đánh giá luận án tiến sĩ cấp khoa và cấp trường; thực hiện các thủ tục liên quan đến phản biện độc lập LATS, tổ chức hội đồng chấm luận án tiến sĩ cấp trường; trình Hiệu trưởng xem xét quyết định việc chuyển cơ sở đào tạo, điều chỉnh, thay đổi tên đề tài luận án tiến sĩ, bổ sung hoặc thay đổi cán bộ hướng dẫn, gia hạn học tập, bảo vệ luận án tiến sĩ sau khi hết thời hạn đào tạo, trả nghiên cứu sinh về cơ quan hoặc địa phương

11 Tổ chức và quản lý các lớp chuyển đổi, bổ túc kiến thức và ôn tập phục vụ tuyển sinh SĐH

12 Phối hợp với các đơn vị đề xuất điều kiện cần thiết cho việc giảng dạy, học tập, nghiên cứu của học viên SĐH và nghiên cứu sinh

13 Cung cấp các thông tin liên quan đến đào tạo SĐH cho Ban Đảm bảo chất lượng để phục vụ công tác đánh giá, đảm bảo chất lượng đào tạo SĐH

14 Đề xuất với Hiệu trưởng chính sách sử dụng các nguồn kinh phí đào tạo SĐH

15 Quản lý hồ sơ gốc và danh sách học viên các hệ đào tạo SĐH.

Nội dung thực tập

Tìm hiểu trường và tổng quan nơi làm việc

Thời gian : Tuần đầu tiên

Trường chúng tôi tự hào giới thiệu về các hoạt động đào tạo sau đại học, được điều hành bởi tổ quản lý đào tạo chuyên nghiệp Chị Tổ trưởng đã chia sẻ thông tin chi tiết về trường cũng như các nghiệp vụ tổng quát trong phòng Đào Tạo Sau Đại Học, giúp sinh viên nắm bắt rõ hơn về quy trình và cơ hội học tập tại đây.

Ngoài ra còn được giới thiệu về các vị trí khác của Phòng, mỗi vị trí đảm nhiệm một chức năng khác nhau

Kết quả đạt được bao gồm việc hiểu rõ hơn về lịch sử hình thành và phát triển của trường, nắm bắt tổng quan về các nghiệp vụ của Phòng Đào Tạo Sau Đại Học, và làm quen với các vị trí khác nhau trong phòng.

Nghiên cứu kỹ thuật

2.1 Tìm hiểu Hệ CSDL Oracle

Nội dung : Tìm hiểu về CSDL Phòng Đào Tạo sử dụng để quản lý hệ thống

Trong thời gian này, chị Tổ trưởng đã hướng dẫn em tìm hiểu về CSDL của Phòng Đào Tạo Sau Đại Học, bao gồm các Table, Procedure,…

Trong quá trình tìm hiểu, em sử dụng công cụ Oracle SQL Developer(phần mềm do Oracle phát triển) để thao tác với CSDL của Phòng

Thực hiện : Thực hành với công cụ Oracle SQL Developer

Kết quả đạt được là đã làm quen với Oracle và thực hiện thành công các thao tác tìm kiếm, truy xuất dữ liệu từ các bảng Tuy nhiên, do đây là lần đầu tiếp xúc với Oracle, tôi đã gặp một số khó khăn trong quá trình cài đặt.

Oracle(bị xung đột phiên bản), cũng như giao diện Oracle SQL Developer chưa quen sử dụng vì trước đó thường sử dụng SQL Server, MySQL,…

Nội dung : Tìm hiểu về Flutter – framework của Google để viết các ứng dụng di động

Flutter là bộ công cụ phát triển phần mềm mã nguồn mở do Google phát triển, cho phép tạo ra ứng dụng đa nền tảng cho Android, iOS, Linux, Mac, Windows, Google Fuchsia và web từ một mã nguồn duy nhất Flutter được ra mắt lần đầu vào tháng 5 năm 2017.

1) Thời gian phát triển nhanh hơn

Flutter, giống như nhiều framework đa nền tảng khác, giúp tăng tốc quá trình phát triển ứng dụng Bằng cách sử dụng mã nguồn duy nhất, Flutter cho phép bạn triển khai ứng dụng trên nhiều nền tảng khác nhau một cách dễ dàng.

Việc phát triển ứng dụng với Flutter cho phép bạn viết mã chỉ một lần, thay vì phải viết mã riêng cho từng hệ điều hành Điều này giúp tiết kiệm đáng kể công sức phát triển và mang lại hiệu quả chi phí cao.

Thuê lập trình viên phổ biến giúp chủ doanh nghiệp tiết kiệm thời gian và quỹ lương, điều này rất quan trọng cho các công ty quy mô vừa và khởi nghiệp Hơn nữa, việc sửa chữa và theo dõi lỗi mã trở nên dễ dàng hơn, vì các thay đổi được cập nhật đồng thời trên tất cả các nền tảng.

2) Tự do tùy chỉnh và kết xuất nhanh hơn

Kiến trúc phân lớp của Flutter mang lại khả năng tùy chỉnh cao cho các thành phần giao diện người dùng, cho phép bạn kiểm soát từng pixel trên màn hình Khác với nhiều nền tảng khác, Flutter không yêu cầu các thành phần giao diện người dùng riêng biệt cho từng hệ điều hành.

Flutter mang đến một giải pháp đơn giản và hiệu quả cho việc phát triển ứng dụng, chỉ cần một bức tranh vẽ để tạo ra giao diện Cách tiếp cận này đảm bảo tính nhất quán cho giao diện người dùng trên nhiều nền tảng khác nhau.

Tính năng hot-reload của Flutter là điểm nổi bật giúp nó khác biệt so với các đối thủ cạnh tranh, cho phép các nhà phát triển thay đổi mã và ngay lập tức xem kết quả trong thời gian thực mà không cần biên dịch lại Điều này tạo điều kiện cho việc thử nghiệm các giao diện người dùng khác nhau trong quá trình phát triển ứng dụng, mang lại sự linh hoạt và hiệu quả cao hơn.

4) Tương đương với Hiệu suất ứng dụng gốc

UX tốt là yếu tố quyết định sự thành công của ứng dụng Hiệu suất kém có thể làm giảm trải nghiệm của người dùng Ứng dụng di động phát triển bằng Flutter không khác biệt so với ứng dụng mã gốc, thậm chí còn hoạt động hiệu quả hơn trong các tình huống giao diện người dùng phức tạp.

Flutter không sử dụng bất kỳ mã trung gian hay cầu nối JavaScript nào, mà được tích hợp trực tiếp vào mã máy Điều này giúp loại bỏ các lỗi hiệu suất thường gặp trong quá trình giải thích, mang lại hiệu suất tối ưu cho ứng dụng.

5) Tài liệu tốt và một cộng đồng mạnh

Flutter nổi bật với nhiều ưu điểm so với các framework khác, thu hút sự quan tâm của lập trình viên toàn cầu Sự phát triển này đã hình thành một cộng đồng tích cực, sẵn sàng hỗ trợ những người mới bắt đầu với Flutter Bên cạnh đó, Flutter cũng cung cấp tài liệu chi tiết qua blog và hướng dẫn trên cổng thông tin chính thức, giúp người dùng dễ dàng tiếp cận và học hỏi.

Nhóm phát triển đã viết lại bộ render UI, không dựa vào UI có sẵn của Framework native, dẫn đến việc sử dụng bộ nhớ tăng cao Các UI được phát triển riêng biệt, không liên kết với hệ điều hành, nghĩa là cùng một phiên bản Flutter, ứng dụng cho iOS từ 8.x đến 12.x sẽ giống nhau, tương tự với Android, nhưng UI của Android vẫn khác với iOS.

Học thêm ngôn ngữ DART là cần thiết, tuy nhiên, số lượng lập trình viên nắm vững DART còn hạn chế Việc thành thạo DART có thể dẫn đến nguy cơ bị gắn bó chặt chẽ với lĩnh vực phát triển ứng dụng di động.

Mô hình dữ liệu mới trong Flutter, bao gồm bloc pattern và DART Streaming, có thể khiến những người đã quen với Redux trong phát triển React Native cần thời gian để làm quen Tuy nhiên, việc học mô hình dữ liệu này không quá khó khăn.

Flutter là một sản phẩm nổi bật của Google, mặc dù hãng này đã gặp phải nhiều chỉ trích về cách quản lý dự án Dù vậy, Flutter vẫn cho thấy nhiều ưu điểm vượt trội so với các sản phẩm trước đây của Google, chẳng hạn như Angular.

- Chạy 1 vài Project mẫu để thấy được các điểm mạnh

- Biết được cách tạo Project đơn giản

Nội dung: Các kiến thức cơ bản về Flutter để xây dựng một ứng dụng di động

Dart – ngôn ngữ chính của Flutter

Thực hiện Project

Sau gần một tháng tìm hiểu về trường, nghiệp vụ và nắm vững kiến thức cơ bản về Flutter, tôi đã sẵn sàng cho việc xây dựng đề tài Trong giai đoạn tiếp theo, tôi sẽ tiến hành thực hiện dự án, tuy nhiên do thời gian thực tập có hạn, tôi chỉ lựa chọn một số chức năng chính để phát triển.

Chi tiết thực hiện project:

- Giai đoạn 1: Xây dựng UI cho ứng dụng(2 tuần)

+ Đăng nhập thông tin học viên

+ Xem Thời Khóa Biểu của học viên

+ Xem điểm thi, thông tin khóa luận,…

+ Xem chương trình đào tạo của các ngành

+ Xem thông tin đóng học phí

+ Xem thông tin lịch thi môn học

+ Tạo task cho bản thân(tự thêm)

- Giai đoạn 2: Tạo class Model, viết API lấy data từ CSDL Oracle của hệ thống

+Viết API cho ứng dụng di động

Due to the Oracle database and the website system being hosted on a separate server, it is essential to create dedicated app services to retrieve data for the mobile application In this project, I utilized Node.js to develop API services specifically for the mobile app.

Node.js là một môi trường chạy JavaScript được phát triển dựa trên engine V8 của Chrome Với mô hình event-driven và I/O không chặn, Node.js mang lại hiệu suất cao và tính nhẹ nhàng Nhờ vào Node.js, việc phát triển ứng dụng web trở nên đơn giản và dễ dàng hơn rất nhiều.

Với cơ chế xử lý bất đồng bộ (non-blocking), hệ thống có khả năng xử lý nhanh chóng, cho phép bạn quản lý hàng ngàn kết nối trong thời gian ngắn nhất.

Hệ thống có khả năng nhận và xử lý nhiều kết nối chỉ với một luồng đơn (single-thread), giúp tiết kiệm đáng kể lượng RAM và tăng tốc độ xử lý trong Node.js.

• Có khả năng xử lý nhiều Request/s cùng một lúc trong thời gian ngắn nhất

• Có khả năng xử lý hàng ngàn Process cho hiệu suất đạt mức tối ưu nhất

• Phù hợp để xây dựng những ứng dụng thời gian thực như các ứng dụng chat, mạng xã hội …

Node.js có nhược điểm là tiêu tốn nhiều tài nguyên và thời gian, do được viết bằng C++ và JavaScript, nên cần trải qua quá trình biên dịch khi xử lý Nếu bạn đang phát triển các ứng dụng yêu cầu xử lý tốn nhiều tài nguyên CPU, thì không nên lựa chọn Node.js.

- API lấy thông tin TKB của học viên:

- Test API với Postman(app test API phổ biến):

- Sử dụng thư viện Dio của Flutter để kết nối với API:

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

Docs về Dio Flutter: https://pub.dev/packages/dio

- Giai đoạn 3: Kết nối UI vs data, kết hợp quản lý State sử dụng Provider và Bloc

- Tổng quan Provider và Bloc:

Provider là một lớp bọc cho Widget, giúp tái sử dụng chúng một cách dễ dàng hơn Khi sử dụng Provider để bao bọc Widget, các Widget con bên trong có thể truy cập dữ liệu từ Provider một cách linh hoạt.

Provider thường sử dụng kết hợp với ChangeNotifier(thông báo thay đổi dữ liệu tới Widget mỗi khi có cập nhật)

Bloc là một hệ thống quản lý trạng thái cho Flutter được khuyến nghị bởi các nhà phát triển Google, giúp quản lý trạng thái và luồng dữ liệu trong ứng dụng dưới dạng Streams Một số thành phần quan trọng của Bloc bao gồm Events (sự kiện như nhấn nút), States và Streams Bloc được xây dựng chủ yếu dựa trên RxDart.

+ Có thể kết hợp đồng thời cả hai Provider và Bloc để quản lý State

Sử dụng Provider kết hợp với ChangeNotifier giúp quản lý và cập nhật dữ liệu khi người dùng xem chương trình đào tạo các ngành Cao học Mỗi khi người dùng chọn học kỳ, hệ thống sẽ thông báo để Widget tự động render lại dữ liệu mới.

Sử dụng Bloc (RxDart) giúp hai Widget luôn theo dõi sự thay đổi dữ liệu và cập nhật trạng thái bên dưới Đồng thời, nút Login cũng lắng nghe, nếu hai trường dữ liệu không chính xác, nó sẽ nhận kết quả là bool dưới dạng Stream và bị vô hiệu hóa.

Giai đoạn 4 tập trung vào việc kiểm tra và đánh giá ứng dụng, đảm bảo tính tương thích của nó Trong quá trình này, các lỗi về logic dữ liệu và giao diện người dùng sẽ được khắc phục để nâng cao trải nghiệm người dùng Đồng thời, định dạng số tiền cũng sẽ được điều chỉnh để trở nên dễ nhìn hơn.

Thêm icon Reload để User click vào trong trường hợp bị lỗi khi kết nối API lấy dữ liệu

4 Tìm hiểu hệ thống Website hiện tại

1 Tổng quan về hệ thống của Phòng Đào Tạo Sau Đại Học

Website của Sau đại học

Website cho Học Viên tra cứu thông tin

Website cho Cán bộ, Nhân Viên của Phòng

Oracle Server của Phòng(Oracle SQL Developer)

+ Website cho người dùng bên ngoài truy cập để theo dõi thông tin mới nhất về Cao học cũng như các thông tin khác của Trường

+ Website cho học viên truy cập để theo dõi thông tin về học vụ cá nhân

+ Website cho cán bộ giảng dạy truy cập vào để theo dõi, quản lý thông tin giảng dạy

+ Website cho cán bộ nhân sự truy cập vào để theo dõi, quản lý học viên và cán bộ giảng dạy

+ Cơ sở dữ liệu của Trường: nơi lưu trữ tất cả dữ liệu của Phòng Đào Tạo Sau Đại Học

2 Nhiệm vụ của thực tập sinh

- Tìm hiểu mã nguồn của hệ thống, đọc hiểu code để hiểu về cấu trúc, cách tổ chức hệ thống

- Tìm hiểu về các bảng trong CSDL

- Làm một số tác vụ nhập, lọc dữ liệu phục vụ cho công tác quản lý

5 Chi tiết thời gian thực tập

Tuần Công việc Người hướng dẫn

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

- Tìm hiểu về trường, cách tổ chức của trường

- Làm quen với các công cụ làm việc trong công ty

- Tìm hiểu công cụ Oracle SQL Developer

- Kết nối với CSDL của trường, tiến hành truy xuất, tìm kiếm 1 số bảng dữ liệu

- Build một Flutter Project đơn giản

- Màn hình xem điểm thi

- Màn hình thông tin cá nhân

- Màn hình xem thời khóa biểu

5 Xây dựng UI cho các màn hình còn lại 6+7

Viết API Services cho ứng dụng di động

Anh Kiên(quản trị website Phòng) Chị Phương

-Thiết kế Model -Kết nối API với ứng dụng

-Kết hợp quản lý State

9 - Fix lại UI cho tương Thầy Dũng(Phó thích với data

- Fix một số logic về data

- Fix lại 1 số API để phù hợp hơn

- Test thử ứng dụng trưởng phòng Sau Đại Học)

- Chuẩn bị viết báo cáo

- Tìm hiểu thêm về hệ thống website hiện tại của Phòng

Chương 3: Chi tiết về ứng dụng quản lý học viên Cao học

1 Giới thiệu về ứng dụng Ứng dụng được viết để giúp các bạn học viên Cao Học có thể theo dõi thông tin học vụ của mình, thay vì phải đăng nhập vào website của trường trên máy tính Ứng dụng chạy trên hệ điều hành Android, có kết nối mạng Internet

- Học viên đăng nhập hệ thống:

- Học viên xem Thời khóa biểu cá nhân:

- Học viên xem bảng điểm tích lũy, thông tin điểm khóa luận, chứng chỉ

- Học viên xem Chương trình đào tạo của các ngành học:

- Học viên Đăng ký môn học(demo):

- Học viên xem thông tin học phí:

- Học viên xem Lịch thi cá nhân:

- Học viên thêm task, ghi chú(mới):

✓ Ứng dụng có UI dễ nhìn, đơn giản

✓ Các chức năng tương đối đầy đủ thông tin(đối sánh với website)

 Chưa xử lý tối ưu được loading dữ liệu từ api

 Chỉ chạy được trên Android

 Tổ chức code chưa tối ưu

- Của thầy Dũng(Phó trưởng Phòng):

Chức năng Chi tiết đánh giá Hướng dự định khắc phục

Xem thời khóa biểu cá nhân

Cần có chế độ xem theo tuần để biết môn học ở tuần bao nhiêu

Một số môn kết thúc sớm nhưng vẫn hiện trên TKB

Thêm một dropdownlist để chọn theo tuần

Lấy thêm trường dữ liệu để xử lý chính xác hơn(tuần bắt đầu, tuần kết thúc,…)

Xem thời khóa biểu cá nhân

Hiển thị chưa sắp xếp theo thời gian môn học trong ngày

Thêm xử lý sort theo thời gian

Xem bảng điểm, số tín chỉ tích lũy

Thêm chế độ xem điểm các môn học theo khối kiến thức sẽ giúp học viên dễ dàng theo dõi số môn học cần hoàn thành trong từng khối kiến thức, như khối kiến thức cơ sở hay chuyên ngành.

Thêm ở bảng hiển thị các mục khối kiến thức và lọc hiển thị tương ứng với khối kiến thức đó

Xem chương trình đào tạo

Thêm tải về file PDF của chương trình đào tạo về thiết bị

Do phải viết API riêng nên chưa biết cách truy xuất hình ảnh, file,…

Hiển thị chung Thêm phần liên hệ của

Phòng(email, sđt, thông tin liên hệ,…) để học viên dễ liên lạc khi có thắc mắc

Thêm UI phần hiển thị ở màn hình thông tin cá nhân hoặc bên dưới các tab màn hình cần thiết

Tính năng thông báo(chưa có)

Chúng tôi đã thêm tính năng thông báo cho học viên mỗi khi Phòng gửi thông tin qua email hoặc số điện thoại Tính năng này giúp đảm bảo rằng học viên không bỏ lỡ thông báo quan trọng Mặc dù giao diện người dùng (UI) cho phần thông báo đã có sẵn, nhưng chúng tôi vẫn đang tìm kiếm hướng xử lý và quy trình nghiệp vụ để gửi thông báo hiệu quả.

=> Sẽ tìm hiểu thêm về chức năng này, có thể tham khảo ở bên website xử lý ra sao để ở app xử lý tương tự như vậy

- Khắc phục các đánh giá bên trên

- Bổ sung thêm tính năng để giống với website

- Xử lý tối ưu việc loading dữ liệu từ API

- Áp dụng thêm các design pattern để tối ưu code

- Áp dụng thêm các State Management để quản lý tốt hơn

Trong chưa đầy 3 tháng nhưng em đã học được rất nhiều điều ở trường Đại Học Bách Khoa TPHCM – Phòng Đào Tạo Sau Đại Học

+ Biết được sơ bộ cách làm việc của Phòng Đào Tạo Sau Đại Học; hiểu thêm về nghiệp vụ quản lý học viên Cao học

+ Làm quen với CSDL Oracle, cũng như công cụ Oracle SQL Developer thao tác với CSDL của Trường

Học lập trình di động với Flutter giúp xây dựng ứng dụng cho doanh nghiệp, mặc dù chưa hoàn thiện tối ưu nhưng đã đạt nhiều mục tiêu ban đầu Trong quá trình phát triển, tôi đã làm quen với các kỹ thuật xử lý dữ liệu hiệu quả.

Flutter(đặc biệt là State Management)

Chi tiết thời gian thời gian thực tập

Tuần Công việc Người hướng dẫn

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

- Tìm hiểu về trường, cách tổ chức của trường

- Làm quen với các công cụ làm việc trong công ty

- Tìm hiểu công cụ Oracle SQL Developer

- Kết nối với CSDL của trường, tiến hành truy xuất, tìm kiếm 1 số bảng dữ liệu

- Build một Flutter Project đơn giản

- Màn hình xem điểm thi

- Màn hình thông tin cá nhân

- Màn hình xem thời khóa biểu

5 Xây dựng UI cho các màn hình còn lại 6+7

Viết API Services cho ứng dụng di động

Anh Kiên(quản trị website Phòng) Chị Phương

-Thiết kế Model -Kết nối API với ứng dụng

-Kết hợp quản lý State

9 - Fix lại UI cho tương Thầy Dũng(Phó thích với data

- Fix một số logic về data

- Fix lại 1 số API để phù hợp hơn

- Test thử ứng dụng trưởng phòng Sau Đại Học)

- Chuẩn bị viết báo cáo

- Tìm hiểu thêm về hệ thống website hiện tại của Phòng

Chương 3: Chi tiết về ứng dụng quản lý học viên Cao học

1 Giới thiệu về ứng dụng Ứng dụng được viết để giúp các bạn học viên Cao Học có thể theo dõi thông tin học vụ của mình, thay vì phải đăng nhập vào website của trường trên máy tính Ứng dụng chạy trên hệ điều hành Android, có kết nối mạng Internet

- Học viên đăng nhập hệ thống:

- Học viên xem Thời khóa biểu cá nhân:

- Học viên xem bảng điểm tích lũy, thông tin điểm khóa luận, chứng chỉ

- Học viên xem Chương trình đào tạo của các ngành học:

- Học viên Đăng ký môn học(demo):

- Học viên xem thông tin học phí:

- Học viên xem Lịch thi cá nhân:

- Học viên thêm task, ghi chú(mới):

✓ Ứng dụng có UI dễ nhìn, đơn giản

✓ Các chức năng tương đối đầy đủ thông tin(đối sánh với website)

 Chưa xử lý tối ưu được loading dữ liệu từ api

 Chỉ chạy được trên Android

 Tổ chức code chưa tối ưu

- Của thầy Dũng(Phó trưởng Phòng):

Chức năng Chi tiết đánh giá Hướng dự định khắc phục

Xem thời khóa biểu cá nhân

Cần có chế độ xem theo tuần để biết môn học ở tuần bao nhiêu

Một số môn kết thúc sớm nhưng vẫn hiện trên TKB

Thêm một dropdownlist để chọn theo tuần

Lấy thêm trường dữ liệu để xử lý chính xác hơn(tuần bắt đầu, tuần kết thúc,…)

Xem thời khóa biểu cá nhân

Hiển thị chưa sắp xếp theo thời gian môn học trong ngày

Thêm xử lý sort theo thời gian

Xem bảng điểm, số tín chỉ tích lũy

Thêm chế độ xem điểm cho các môn học theo từng khối kiến thức giúp học viên dễ dàng theo dõi số lượng môn học cần hoàn thành Ví dụ, việc phân loại theo khối kiến thức cơ sở và chuyên ngành sẽ hỗ trợ sinh viên trong việc quản lý tiến độ học tập hiệu quả hơn.

Thêm ở bảng hiển thị các mục khối kiến thức và lọc hiển thị tương ứng với khối kiến thức đó

Xem chương trình đào tạo

Thêm tải về file PDF của chương trình đào tạo về thiết bị

Do phải viết API riêng nên chưa biết cách truy xuất hình ảnh, file,…

Hiển thị chung Thêm phần liên hệ của

Phòng(email, sđt, thông tin liên hệ,…) để học viên dễ liên lạc khi có thắc mắc

Thêm UI phần hiển thị ở màn hình thông tin cá nhân hoặc bên dưới các tab màn hình cần thiết

Tính năng thông báo(chưa có)

Chúng tôi đã thêm tính năng thông báo cho học viên mỗi khi Phòng gửi thông tin qua email hoặc số điện thoại Tính năng này sẽ giúp học viên không bỏ lỡ bất kỳ thông báo nào Hiện tại, giao diện người dùng (UI) đã có phần hiển thị thông báo, nhưng chúng tôi cần xác định cách xử lý và quy trình gửi thông báo này một cách hiệu quả.

=> Sẽ tìm hiểu thêm về chức năng này, có thể tham khảo ở bên website xử lý ra sao để ở app xử lý tương tự như vậy

- Khắc phục các đánh giá bên trên

- Bổ sung thêm tính năng để giống với website

- Xử lý tối ưu việc loading dữ liệu từ API

- Áp dụng thêm các design pattern để tối ưu code

- Áp dụng thêm các State Management để quản lý tốt hơn

Trong chưa đầy 3 tháng nhưng em đã học được rất nhiều điều ở trường Đại Học Bách Khoa TPHCM – Phòng Đào Tạo Sau Đại Học

+ Biết được sơ bộ cách làm việc của Phòng Đào Tạo Sau Đại Học; hiểu thêm về nghiệp vụ quản lý học viên Cao học

+ Làm quen với CSDL Oracle, cũng như công cụ Oracle SQL Developer thao tác với CSDL của Trường

Bài viết này cung cấp kiến thức về lập trình di động với Flutter, đặc biệt là trong việc phát triển ứng dụng cho doanh nghiệp Mặc dù ứng dụng chưa được tối ưu hóa hoàn toàn và chưa đến tay người dùng cuối, nhưng nó đã đạt được phần lớn các mục tiêu ban đầu Trong quá trình xây dựng ứng dụng, tôi cũng đã làm quen với một số kỹ thuật xử lý dữ liệu hữu ích.

Flutter(đặc biệt là State Management)

Tạo một ứng dụng dịch vụ để kết nối và lấy dữ liệu từ máy chủ riêng của trường là một bước quan trọng Mặc dù cách tổ chức dịch vụ chưa hoàn thiện, nhưng ứng dụng đã thành công trong việc truy xuất dữ liệu.

Để nâng cao kỹ năng tìm tòi và học hỏi về hệ quản trị cơ sở dữ liệu Oracle, người dùng cần thực hiện nhiều nghiên cứu trực tuyến, bên cạnh sự hỗ trợ quý báu từ chị Phương, tổ trưởng Việc tìm hiểu sâu về Oracle sẽ giúp người dùng nắm vững kiến thức và áp dụng hiệu quả trong công việc.

Trong quá trình thực tập, tôi đã có cơ hội làm quen với hệ thống website của Phòng Đào Tạo, từ đó hiểu rõ cách tổ chức và vận hành hệ thống website của một trường Đại Học lớn tại Việt Nam.

Tuy nhiên, cũng có một vài điểm yếu em cần khắc phục:

+ Chưa mạnh dạn, còn rụt rè Đôi khi có 1 số thắc mắc nhưng ngại hỏi

+ Chưa chăm chỉ, siêng năng dẫn đến tiến độ có 1 vài chậm trễ

Chi tiết ứng dụng của Project

Các tính năng

- Học viên đăng nhập hệ thống:

- Học viên xem Thời khóa biểu cá nhân:

- Học viên xem bảng điểm tích lũy, thông tin điểm khóa luận, chứng chỉ

- Học viên xem Chương trình đào tạo của các ngành học:

- Học viên Đăng ký môn học(demo):

- Học viên xem thông tin học phí:

- Học viên xem Lịch thi cá nhân:

- Học viên thêm task, ghi chú(mới):

Đánh giá

✓ Ứng dụng có UI dễ nhìn, đơn giản

✓ Các chức năng tương đối đầy đủ thông tin(đối sánh với website)

 Chưa xử lý tối ưu được loading dữ liệu từ api

 Chỉ chạy được trên Android

 Tổ chức code chưa tối ưu

- Của thầy Dũng(Phó trưởng Phòng):

Chức năng Chi tiết đánh giá Hướng dự định khắc phục

Xem thời khóa biểu cá nhân

Cần có chế độ xem theo tuần để biết môn học ở tuần bao nhiêu

Một số môn kết thúc sớm nhưng vẫn hiện trên TKB

Thêm một dropdownlist để chọn theo tuần

Lấy thêm trường dữ liệu để xử lý chính xác hơn(tuần bắt đầu, tuần kết thúc,…)

Xem thời khóa biểu cá nhân

Hiển thị chưa sắp xếp theo thời gian môn học trong ngày

Thêm xử lý sort theo thời gian

Xem bảng điểm, số tín chỉ tích lũy

Thêm chế độ xem điểm cho các môn học theo từng khối kiến thức giúp học viên dễ dàng theo dõi số lượng môn học cần hoàn thành trong các khối như khối kiến thức cơ sở và chuyên ngành.

Thêm ở bảng hiển thị các mục khối kiến thức và lọc hiển thị tương ứng với khối kiến thức đó

Xem chương trình đào tạo

Thêm tải về file PDF của chương trình đào tạo về thiết bị

Do phải viết API riêng nên chưa biết cách truy xuất hình ảnh, file,…

Hiển thị chung Thêm phần liên hệ của

Phòng(email, sđt, thông tin liên hệ,…) để học viên dễ liên lạc khi có thắc mắc

Thêm UI phần hiển thị ở màn hình thông tin cá nhân hoặc bên dưới các tab màn hình cần thiết

Tính năng thông báo(chưa có)

Ứng dụng sẽ được cải tiến bằng cách thêm tính năng thông báo khi Phòng gửi thông tin qua email hoặc số điện thoại, giúp học viên không bỏ lỡ bất kỳ thông báo nào Mặc dù đã có giao diện người dùng (UI) để hiển thị thông báo, nhưng vẫn cần xác định cách xử lý và quy trình gửi thông báo hiệu quả.

=> Sẽ tìm hiểu thêm về chức năng này, có thể tham khảo ở bên website xử lý ra sao để ở app xử lý tương tự như vậy

Hướng phát triển

- Khắc phục các đánh giá bên trên

- Bổ sung thêm tính năng để giống với website

- Xử lý tối ưu việc loading dữ liệu từ API

- Áp dụng thêm các design pattern để tối ưu code

- Áp dụng thêm các State Management để quản lý tốt hơn

Trong chưa đầy 3 tháng nhưng em đã học được rất nhiều điều ở trường Đại Học Bách Khoa TPHCM – Phòng Đào Tạo Sau Đại Học

+ Biết được sơ bộ cách làm việc của Phòng Đào Tạo Sau Đại Học; hiểu thêm về nghiệp vụ quản lý học viên Cao học

+ Làm quen với CSDL Oracle, cũng như công cụ Oracle SQL Developer thao tác với CSDL của Trường

Bài viết này cung cấp kiến thức về lập trình di động Flutter và hướng dẫn xây dựng ứng dụng cho doanh nghiệp Mặc dù ứng dụng chưa được tối ưu hóa hoàn toàn và chưa đến tay người dùng cuối, nhưng đã đạt được nhiều mục tiêu ban đầu Trong quá trình phát triển, tôi cũng đã làm quen với một số kỹ thuật xử lý dữ liệu hữu ích.

Flutter(đặc biệt là State Management)

Tạo một ứng dụng dịch vụ để kết nối và lấy dữ liệu từ máy chủ riêng của trường Mặc dù cách tổ chức dịch vụ chưa hoàn hảo, nhưng vẫn có thể thu thập dữ liệu thành công.

Để nâng cao kỹ năng tìm tòi và học hỏi về hệ quản trị cơ sở dữ liệu Oracle, người học cần tích cực tìm kiếm thông tin trên mạng, đồng thời nhận sự hỗ trợ từ những người có kinh nghiệm như chị Phương, tổ trưởng, để hiểu rõ hơn về công nghệ mới này.

Trong quá trình thực tập, tôi đã có cơ hội tìm hiểu về hệ thống web của Phòng Đào Tạo, từ đó nắm bắt được cách tổ chức và vận hành website của một trường Đại Học lớn tại Việt Nam.

Tuy nhiên, cũng có một vài điểm yếu em cần khắc phục:

+ Chưa mạnh dạn, còn rụt rè Đôi khi có 1 số thắc mắc nhưng ngại hỏi

+ Chưa chăm chỉ, siêng năng dẫn đến tiến độ có 1 vài chậm trễ

Ngày đăng: 10/03/2022, 20:34

TỪ KHÓA LIÊN QUAN

w