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 Quản Lý
Trang 1Trần Ngọc Linh Nguyễn Tấn Phúc
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
ỨNG DỤNG QUẢN LÝ KHOÁ HỌC
Thực tập sinh : Nguyễn Tấn Phúc
TP Hồ Chí Minh, tháng 12 năm 2020
Trang 2nền tảng Trong khi các ứng dụng gốc tốn quá nhiều phí để xây dựng trọn bộ ứng dụng trên tất
cả các nền tảng thì với Cross Platform, mọi thứ đều có thể giải quyết Lập trình viên chỉ cần lập trình một lần và biên dịch hoặc phiên dịch ra thành nhiều bản Native App tương ứng với từng nền tảng khác nhau
FLUTTER được phát triển nhằm giải quyết bài toán thường gặp trong mobile là Fast
Development và Native Performance Nếu như React Native chỉ đảm bảo Fast Development và code native thuần chỉ đảm bảo Native Performance thì Flutter làm được cả 2 điều trên
Sau những 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 một sản phẩm mobile trong một môi trường chuyên nghiệp, em quyết định là sẽ thực tập Vì vậy, em quyết định chọn FPT Information System - một môi trường 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 3Trần Ngọc Linh Nguyễn Tấn Phúc
LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty FPT Information System đã 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 Quản Lý Khoá Học bằng ngôn ngữ Flutter 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 Trần Ngọc Linh, đã training Flutter, 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, đã chỉ dẫn chúng em về cách làm báo cáo, lên kế hoạch, những kỹ năng không thể
thiếu; cảm ơn các anh Nguyễn Thành Phúc anh Phạm Tiến Dũng, đã training cho chúng em
những kiến thức quan trọng về API để 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
Nguyễn Tấn Phúc TpHCM, ngày 11 tháng 12 năm 2020
Trang 4
Trang 5
Trần Ngọc Linh Nguyễn Tấn Phúc
MỤC LỤC
MỤC LỤC
Báo cáo thực tập : Ứng dụng Quản Lý Khoá Học
Chương 1: Giới thiêu công ty thực tập 6
1 Giới thiệu công ty FPT Information System 6
2 Sản phẩm của công ty 7
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ữ Flutter cơ bản và nâng cao 8
2.3 Ứng dụng Quản lý Khoá học với Flutter 9
3 Thực hiện project 10
4 Lịch làm việc 10
Chương 3: Chi tiết về project 12
1 Giới thiệu về Ứng dụng Quản Lý Khoá Học 12
2 Hỗ trợ 14
3 Kế hoạch & kết quả 14
3.1 Kế hoạch : 14
3.2 Thực hiện : 14
3.3 Kết quả : 14
Trang 61 Giới thiệu công ty FPT Information System
Được thành lập năm 1994, trong suốt hơn 25 năm phát triển, Công ty Hệ thống
Thông tin FPT (FPT Information System - FPT IS) là nhà tích hợp hệ thống, cung cấp giải pháp hàng đầu Việt Nam và khu vực Sở hữu năng lực công nghệ được thừa nhận bởi các khách hàng và đối tác toàn cầu, FPT IS mang đến những dịch vụ và giải pháp phục vụ các lĩnh vực trọng yếu của từng quốc gia, như: Viễn thông, Ngân hàng - Tài chính, Y tế, Giao thông vận tải, Tài chính công, Điện, Nước, Gas và Doanh nghiệp
Công ty chúng tôi có gần 3.000 cán bộ nhân viên có trình độ cao, am hiểu nghiệp vụ khách hàng và chuyên sâu trong từng ngành kinh tế Năng lực của chuyên gia FPT IS
đã được công nhận với nhiều chứng chỉ công nghệ quốc tế được cấp bởi các nhà cung cấp giải pháp và dịch vụ dẫn đầu thế giới như Cisco, IBM, Microsoft và Oracle
Công ty mẹ của FPT IS – Tập đoàn FPT – là tên tuổi dẫn đầu về Công nghệ thông tin
- Viễn thông tại ASEAN với đội ngũ gần 29.000 cán bộ nhân viên trên khắp thế giới,
hệ thống 46 chi nhánh, văn phòng tại 22 quốc gia và vùng lãnh thổ bên ngoài Việt Nam Bốn lĩnh vực hoạt động chính của FPT bao gồm: công nghệ, viễn thông, phân phối - bán lẻ và giáo dục Là thành viên của một tập đoàn lớn mạnh, FPT IS có nền tảng vững chắc để phát triển bền vững
Trang 7Trần Ngọc Linh Nguyễn Tấn Phúc
2 Sản phẩm của công ty
Những sản phẩm nổi bật của công ty
§ Hệ thống ngân hàng lõi, kế toán, lập ngân sách và tích hợp hệ thống
(SG3.1 )
§ Hệ thống quản lý và phát hành kho quỹ theo hướng tập trung cho
Ngân hàng Nhà nước
§ Hệ thống ERP cho Vingroup
§ Hệ thống thông tin ngân hàng cho VietinBank
§ Hệ thống ERP cho Vinamilk
§ Hệ thống ERP cho Tập đoàn thủy sản Minh Phú
Trang 8Đợt thực tập với chủ đề “Ứng dụng Quản lý Khoá học bằng Flutter” nhằm mục đích sử dụng ngôn ngữ lập trình mới phát triển hiện nay là Flutter ứng dụng vào app FPT-SM được sử dụng nội bộ trong công ty giúp cho các bạn thực tập sinh có những bài học bổ ích trước khi bươc chân vào dự án thực tế ngoài ra thì em còn viết tài liệu để hướng dẫn các bạn thực tập sinh sau này bắt đầu học Flutter có thể tham khảo, đồ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 app mobile chuyên nghiệp
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian : 1 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triên (như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức 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 phải tuân thủ, cách sử dụng email trong công việc…
Kết quả : Hiểu thêm về công ty FPT Information System, 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
Thời gian : 7 ngày
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
Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các công
cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đó như Jira, Gitlab - sử dụng trong làm việc nhóm, Postman – Sử dụng để test API
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên
Kết quả : Lập trình sử dụng các công cụ miễn phí, giúp dễ dàng kết hợp các công cụ
với nhau, so với việc dung các IDE
2.2 Tìm hiểu ngôn ngữ Flutter cơ bản và nâng cao
Thời gian : 14 ngày
Nội dung : Được training về các kỹ thuật Flutter nâng cao, cách sử dụng API, Jira
cũng như Gitlab
Thực hiện :
Trang 9Trần Ngọc Linh Nguyễn Tấn Phúc
- Làm các bài thực hành, kiểm tra về kiến thức đã học
Kết quả :
- Nâng cao kỹ năng lập trình với ngôn ngữ Flutter
- Có được những kiến thức quan trọng cho việc lập trình app mobile sau này
- 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 Ứng dụng Quản lý Khoá học với Flutter
Thời gian: 7 ngày
Nội dung: Các kiến thức cơ bản về Flutter để có thể làm ra một vài màn hình cơ bản
- Khái niệm cơ bản về Flutter
Nắm được các khái niệm cơ bản về Flutter, được phát triển nhằm giải quyết bài
toán thường gặp trong mobile là Fast Development và Native Performance Nếu như React Native chỉ đảm bảo Fast Development và code native thuần chỉ đảm bảo Native Performance thì Flutter làm được cả 2 điều trên
- Widget là gì ?
§ Những gì xuất hiện trên màn hình điện thoại đều là widget
§ Có đến hơn trăm cái Widget có sẵn trong Flutter và để dễ học hơn thì phân chia ra thành 5 nhóm chủ đạo như sau:
1 Nhóm Value Widgets Nó dùng để hiển thị 1 dữ liệu gì đấy, dữ liệu có thể
từ local, internet hoặc dữ liệu do user nhập vào Một vài widget tiêu biểu như: Text, TextField, Icon, Image, FlatButton,
2 Nhóm Layout Widgets Nó dùng để bố trí và căn chỉnh các Value Widget
trên trong 1 layout Ví dụ: Row (bố trí các widget theo hàng ngang), Column (bố trí các widget theo hàng dọc), Align, Center (căn chỉnh layout),
3 Nhóm Animation Widgets Nó giúp tạo ra Animation cho app của bạn
thêm đẹp VD: FadeInImage, Hero, SlideTransition, AnimatedContainer,
4 Nhóm Navigation Widgets những widget giúp điều hướng trong app như:
BottomNavigationBar, TabBar, AlertDialog,
tương tác với View như: Dismissible, Draggable, GestureDetector, …
- Quản lý state trong Flutter
§ Trong Flutter thì việc quản lý state chủ yếu thông qua Provider
§ Provider là một provider widget đơn giản nhất trong tất cả các provider mà
thư viện cung cấp Hiểu đơn giản là widget này sẽ cung cấp một object
mà chúng ta có thể sử dụng chúng ở bất kỳ đâu trong cây widget được bao bởi Provider
- Send and get API
§ Sử dụng kiến thức đã học về flutter và kiến thức về Postman để thực hiện
send and get API
Trang 10- Làm các bài tập thực hành
- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm
Kết quả :
- Hiểu được những khái niệm cơ bản và nâng cao của Flutter
- Đã áp dụng và thiết kế được một số màn hình bằng flutter
3 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à nâng cao về Flutter 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 Quản Lý Khoá Học bằng Flutter Chi tiết đồ án sẽ được nói ở phần sau
4 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ề 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
Anh Trần Ngọc Linh
2
- Tìm hiểu ngôn ngữ lập trình Flutter cơ bản &
nâng cao
- Thực hành Flutter
- Làm bài test Flutter
Anh Trần Ngọc Linh
3 - Tìm hiểu về Postman - Thực hành get và send
API
Anh Trần Ngọc Linh
4
Giai đoạn Alpha
- Tìm hiểu về cách quản
lý state
- Áp dụng các tiêu chuẩn để code rõ ràng, đẹp và có thể mở rộng
Anh Trần Ngọc Linh
Trang 11Trần Ngọc Linh Nguyễn Tấn Phúc
5
hình QLKH
6
Giai đoạn Alpha(tiếp):
- Get và send API
- Sử dụng provider để quản lý state
Anh Trần Ngọc Linh
7
Giai đoạn Beta:
- Viết các chức năng nâng cao hơn
- Thêm một vài animation và một số tính năng nhỏ vào ứng dụng
Anh Trần Ngọc Linh
8
Giai đoạn Beta và giai đoạn kết thúc, báo cáo :
- Fix hết bug do tester tìm ra
- Release ứng dụng
Anh Trần Ngọc Linh
Trang 121 Giới thiệu về Ứng dụng Quản Lý Khoá Học
Ứng dụng FPT-IS là một ứng dụng dành riêng cho nhân viên của FPT có chức năng để cho thực tập sinh hoặc nhân viên công ty FPT có thể học thêm những bài học cơ bản về lập trình Ứng dụng Quản Lý Khoá Học là một chức năng quản lý tất cả các khoá học và buổi học nói trên
Trang 13Trần Ngọc Linh Nguyễn Tấn Phúc
Trang 142 thành viên của team Flutter:
- Nguyễn Tấn Phúc
- Võ Đăng Phước
Và sự giúp đỡ tận tình của team trainer
3 Kế hoạch & kết quả
3.1 Kế hoạch :
- Hoàn thiện tất cả màn hình
- Hoàn thành send & get API
- Hoàn thiện tất cả chức năng của ứng dụng
- Áp dụng các tiêu chuẩn để code có thể mở rộng
- Fix bug và có thể thêm một vài tính năng mới
3.2 Thực hiện :
- Nắm rõ kiến thức về Flutter
- Hoàn thiện tất cả màn hình của ứng dụng
- Sử dụng Provider để quản lý state
- Thực hiện kết nối với backend thông qua việc send và get API
- Mở rộng thêm các chức năng cần thiết
- Hoàn thiện tất cả các chức năng
- Fix bug theo yêu cầu của Tester
- Release ứng dụng
3.3 Kết quả :
- Tất cả các chức năng và màn hình đã hoàn thành theo yêu cầu
- Thêm một số UI
TÀI LIỆU THAM KHẢO
Kiến thức cơ bản và nâng cao về Flutter :
https://flutter.dev/docs
Trang 15Trần Ngọc Linh Nguyễn Tấn Phúc
TỔNG KẾT
Như vậy, chỉ trong vòng một tháng ngắn ngủi, em đã kịp hoàn thành một ứng dụng Quản
Lý Khoá Học bằng Flutter có đầy đủ các tính năng đã đề ra ban đầu Do thời gian có hạn nên e chưa thể mở rộng thêm các chức năng Nhưng do ứng dụng phát triển theo framework có tính
kế thừa nên sau này khi có thời gian sẽ có thể phát triển lên mức cao hơn
Chân thành cảm ơn sự giúp đỡ của các anh chị nhóm trainer, sự nỗ lực của nhóm Flutter
để có thể hoàn thành ứng dụng này Cảm ơn đã giúp em hoàn thành bài báo cáo này