Thiết kế sáng tạo cao cấp cho các công ty trên toàn cầu, các cá nhân và chắc chắn sẽ trở thành một tổ chức hàng đầu trong việc tạo điều kiện, tăng cường và cung cấp giá trị kinh doanh ch
Trang 1BÁO CÁO THỰC TẬP LẬP TRÌNH ỨNG DỤNG DI ĐỘNG TRÊN
NỀN TẢNG FLUTTER
TP Hồ Chí Minh, 21 tháng 7 năm 2020
Trang 2Người phụ trách: Đặng Ngọc Sáng
Vi Chí Thiện
Trang 3LỜI MỞ ĐẦU
Vớ tốc độ phát triển chóng mặt của thế giới công nghệ nói chung và thiết bị di động nói riêng Với 3.5 tỷ người1 đang có điện thoại trên thế giới Nhu cầu sử dụng điện thoại của con người ngày càng tăng
Hằng năm hàng loạt các hãng điện thoại mới ra đời, với nhiều kích cỡ, chủng loại khác nhau Bài toán đặt ra là làm sao làm một ứng dụng có thể chạy trên tất cả các thiết bị trên mà không cần phải thay đổi công nghệ
Với những lý do trên, em đã chọn KiKi Company để trau dồi thêm kiến thức giải quyết bài toán trên
1 "How Many People Have Smartphones Worldwide (July 2020)." https://www.bankmycell.com/blog/how-many-phones-are-in-the-world Accessed 26 Jul 2020.
Trang 4LỜI CẢM ƠN
Đầu tiên, em xin cảm ơn KiKi Company đã tạo điều kiện thuận lợi nhất để em có thể tham gia khóa thực tập tại công ty
Em đặc biệt cám ơn anh Đặng Ngọc Sáng là Co-Founder của công ty đã tận tình chỉ bảo em trong thời gian thực tập Em cám ơn anh Tuấn Anh - là TechLead của team, người trực tiếp giám sát, tận tình giúp đỡ em Giúp em việc hoàn thành khóa thực tập tại công ty
Em cám ơn chị My là HR của team, người đã giúp em những ngày đầu vào công ty
Và em xin cám ơn team Flutter của công ty đã giúp em học hỏi được những kinh
nghiệm quý báo
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
Vi Chí Thiện Thành phố Hồ Chí Minh, 21 tháng 7 năm 2020
Người phụ trách: Đặng Ngọc Sáng
Vi Chí Thiện
Trang 5NHẬN XÉT CỦA KHOA
Trang 6MỤC LỤC
Tìm hiểu Bing Image Search API và Google Search Image API 10
Người dùng đóng góp hình ảnh cho một từ chưa có hình ảnh minh hoạ 16
Người phụ trách: Đặng Ngọc Sáng
Vi Chí Thiện
Trang 7GIỚI THIỆU CÔNG TY THỰC TẬP
1 Giới thiệu công ty
KiKi là một công ty chuyên về phát triển và thiết kế hàng đầu cung cấp các giải pháp và dịch vụ phần mềm, web, thiết bị di động Thiết kế sáng tạo cao cấp cho các công ty trên toàn cầu, các cá nhân và chắc chắn sẽ trở thành một tổ chức hàng đầu trong việc tạo điều kiện, tăng cường và cung cấp giá trị kinh doanh cho khách hàng thông qua việc sử dụng hiệu quả nhất công nghệ và tài nguyên cho các tổ chức, doanh nghiệp trên toàn cầu
Nhân viên của chúng tôi có tay nghề cao, hầu hết có kinh nghiệm làm việc đa dạng trong các lĩnh vực của Công nghệ thông tin, từ đó tạo nên một đội ngũ chuyên nghiệp Quản lý của KiKi đảm bảo rằng mỗi cá nhân vượt trội trong từng nhiệm vụ cụ thể được giao bằng cách làm việc chặt chẽ với họ Những nhân viên được tuyển dụng không chỉ
có kỹ thuật chuyên môn, kỹ năng phân tích mạnh mẽ, đạo đức, uy tín mà còn có sự chuyên nghiệp trong công việc, khả năng ra quyết định và trên tất cả đó chính là tinh thần trách nhiệm vô cùng lớn do chúng tôi truyền đạt, đặc biệt ở vị trí phân tích nghiệp
vụ kinh doanh, với cách tiếp cận thông minh, khả năng giao tiếp đặc sắc và sáng tạo
Trang 8Bắt nguồn từ trải nghiệm tích lũy của các thành viên trong nhóm và kết quả kinh nghiệm kinh doanh thực tế kết hợp với vốn kiến thức rộng về công nghệ, chúng tôi có thể hiểu các yêu cầu kinh doanh của khách hàng, đề xuất chiến lược công nghệ thông tin và sáng tạo với tầm nhìn của doanh nghiệp và thực hiện kế hoạch kinh doanh bằng cách xây dựng hoặc triển khai các giải pháp kinh doanh có thể mở rộng chất lượng cao
Thông qua việc sử dụng các công nghệ tiên tiến nhất Mục tiêu của chúng tôi là hoàn thành các sản phẩm đạt mục tiêu vượt quá mong đợi của khách hàng ở mọi khía cạnh giá trị, chất lượng để đáp ứng lòng tin cũng như nhận được sự hài lòng của khách hàng
2 Sản phẩm của công ty
Chuyên về phát triển, thiết kế và cung cấp các giải pháp và dịch vụ phần mềm, web, thiết bị di động với sự sáng tạo, chuyên nghiệp cho các công ty trên toàn cầu
Người phụ trách: Đặng Ngọc Sáng
Vi Chí Thiện
Trang 9NỘI DUNG THỰC TẬP
Đợt thực tập với chủ đề “lập trình ứng dụng di động trên nền tảng Flutter” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về lập trình ứng dụng trên Android
và IOS, đồ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 game chuyên nghiệp
1 Làm quen với công ty và cách làm việc nhóm
Thời gian: 1 ngày
Nội dung:
● Làm quen về công ty 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, 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, còn được cấp tài khoản Slack, Sky, Email của công ty Sắp xếp chỗ ngồi trong công ty
Thực hiện: Thực hành sử dụng các phần mềm do công ty quy định.
Kết quả: Hiểu thêm về công ty, cách làm việc nhóm Biết thêm được các phần mềm
cho việc lập trình
2 Làm quen với workflow, process flow
Thời gian: 1 ngày
Nội dung:
● Hiểu được Process Flow, Workflow của phần mềm
● Sử dụng phần mềm thử để kiểm tra các chức năng trong các tài liệu
Thực hiện:
● Đọc Workflow, Process flow của phần mềm
Trang 10Kết quả: Nắm rõ Workflow và Process flow của phần mềm Hiểu đưọc phần mềm
3 Tìm hiểu kỹ thuật
a Tìm hiểu về Flutter
Thời gian: 1 tuần
Nội dung:
● Tìm hiểu về Flutter
● Cách Flutter hoạt động
● Cách tổ chức một project bằng Flutter
Thực hiện:
● Đọc tài liệu, video về Flutter
● Tạo một demo về Flutter
Kết quả: Hiểu được Flutter là gì, cách thức hoạt động và sử dụng Flutter
b Tìm hiểu về API
Thời gian: 1 tuần
Nội dung:
● Tìm hiểu về API
● Tìm hiểu về RESTful API
● Tìm hiểu về cách thức hoạt động của client-server
● Cách thức giao tiếp giữa client-server
Thực hiện:
● Đọc tài liệu về RESTful API
● Đọc tài liệu về client-server
Kết quả:
● Hiểu được cách thức hoạt động của client-server
● Biết được RESTful API là gì
c Tìm hiểu Bing Image Search API và Google Search Image API
Thời gian: 1 tuần
Nội dung:
● Tìm hiểu về Bing Image Search API
● Tìm hiểu về Google Search API
Thực hiện:
● Đọc tài liệu về bing api
● Đọc tài liệu về google api
Kết quả:
Người phụ trách: Đặng Ngọc Sáng
Vi Chí Thiện
Trang 11● Demo được Search Image Bằng Bing và Google Image Search
4 Hiện thực sản phẩm
Sau một tháng được training và thực hành, em đã nắm được những kiến thức cơ bản
về Flutter,RESTful API, … và các thư viện, công nghệ sử dụng trong ứng dụng của công ty Trong tháng thứ hai, trailer đã hướng dẫn em áp dụng những kiến thức đã học
để thực hiện một ứng dụng demo nho nhỏ
XDICT là dự án Mobile có cấu trúc Client – Server phục vụ cho nhu cầu tìm kiếm từ ngữ
tiếng anh thông qua hình ảnh và những ví dụ minh hoạ
5 Lịch làm việc
Tuầ
n Công việc
Người hướng dẫn
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
● Đọc Workflow, Process flow của
phần mềm
● Đọc và xem các tài liệu trước về
các chức năng và các task đã hoàn
thành trước đó
Chị Ái My Tốt
2 ● Đọc các model, đưa ra các giải
pháp, ghi chú lại các bug của phần
mềm
● Học cách sử dụng Flutter, GitLab
Anh Tuấn Anh Tốt
3 ● Tìm hiểu các API đang và sẽ được
sử dụng cho phần mềm
● Tìm hiểu Scoped Model của Flutter
● Tìm hiểu Repository pattern,
Anh Sáng Tốt
Trang 124 ● Lập trình Service và Repository
tương ứng cho giao tiếp giữa Client
và Server
● Viết TestCase cho các Service và
Repository trên
Anh Sáng Tốt
5 ● Cấu hình cho việc tìm kiếm hình
ảnh thông qua Search Engine của
Bing và Google
● Viết lại tài liệu liên quan đến việc
cấu hình
● Lập trình Service và Repository cho
tìm kiếm hình ảnh
Anh Tuấn Anh Tốt
6 ● Thiết kế UI, UX màn hình Search
● Viết Test case cho các Widget
trong màn hình Search
● Viết Auto test cho Process Flow
của màn hình Search
● Test trên nhiều kích thước màn
hình khác nhau
● Fix các lỗi của xuất hiện trên màn
hình
● Viết lại tài liệu, review code
Anh Sáng Tốt
7 ● Thiết kế UI, UX màn hình
Vocabulary Detail
● Viết Test case cho các Widget
trong màn hình Vocabulary Detail
● Viết Auto test cho Process Flow
của màn hình Vocabulary Detail
● Test trên nhiều kích thước màn
Anh Sáng Tốt
Người phụ trách: Đặng Ngọc Sáng
Vi Chí Thiện
Trang 13● Fix các lỗi của xuất hiện trên màn
hình
● Viết lại tài liệu, review code
8 ● Thiết kế UI, UX màn hình
Contribute Image
● Viết Test case cho các Widget
trong màn hình Contribute Image
● Viết Auto test cho Process Flow
của màn hình Contribute Image
● Test trên nhiều kích thước màn
hình khác nhau
● Fix các lỗi của xuất hiện trên màn
hình
● Viết lại tài liệu, review code
Anh Sáng Tốt
Trang 14CHI TIẾT SẢN PHẨM
1 Người dùng tìm kiếm từ vựng
Người dùng tìm kiếm từ vựng thông qua thanh search bar trong màn hình Khi user nhập các từ khoá, các từ sẽ được gửi lên Server để tìm kiếm các từ gợi ý Các từ gợi ý được Server trả về và Client sẽ hiển thị cho người dùng
Người phụ trách: Đặng Ngọc Sáng
Vi Chí Thiện
Trang 15Người dùng chọn một từ trong các từ gợi ý để tra cứu cụ thể Client sẽ gửi một request tới Server với từ được chọn Server sẽ tìm kiếm trong database và trả cho Client nội dung có liên quan của từ (phát âm, nghĩa, hình ảnh, …) Client sau khi nhận được sẽ hiển thị cho người dùng
3 Người dùng đóng góp hình ảnh cho một từ chưa có hình ảnh minh hoạ
Khi một từ vựng chưa có hình ảnh hoặc hình ảnh chưa đủ (mỗi từ vựng có 3 hình ảnh minh hoạ) thì người dùng sẽ chọn “CONTRIBUTE NOW”
Trang 16Người dùng sẽ nhận được các hình ảnh được tìm kiếm trên mạng thông qua các Search engine của Google và Bing Người dùng sẽ chọn hình ảnh mong muốn và nhấn
“Contribute Image”
Người phụ trách: Đặng Ngọc Sáng
Vi Chí Thiện
Trang 17Các hình ảnh được chọn sẽ được upload lên Server và cập nhật tương ứng với
từ ngữ được chọn
Trang 18Người phụ trách: Đặng Ngọc Sáng
Vi Chí Thiện
Trang 19TỔNG KẾT
Với thời gian chỉ hai tháng cùng những kiến thức quý báu được học tại KiKi Company, việc xây dựng và hỗ trợ thiết kế dự án XDICT, XED cũng đã hoàn thành nhờ có sự giúp
đỡ nhiệt tình, thân thiện của các nhân viên cấp cao trong công ty
Tuy nhiên, công tác làm việc cũng không tránh khỏi nhiều thiếu sót trong quá trình thực hiện Trong thời gian tới, em sẽ tiếp tục trau dồi thêm nhiều kiến thức, đồng thời tiếp tục chỉnh sửa, bổ sung để tạo ra được một sản phẩm hoàn thiện và có chất lượng hơn
Chân thành cảm ơn sự giúp đỡ của các anh chị của công ty Kiki, sự nỗ lực của bản thân chúng em có thể hoàn thành ứng dụng này