1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng ứng dụng kết nối camera ip trên nền tảng di động (báo cáo thực tập )

23 2 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

Định dạng
Số trang 23
Dung lượng 322,18 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 KHOA HỌC VÀ KỸ THUẬT THÔNG TIN BÁO CÁO THỰC TẬP XÂY DỰNG ỨNG DỤNG KẾT NỐI CAMERA IP TRÊN NỀN TẢNG DI ĐỘNG Công ty thực tập : KiteMetric Người ph

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC VÀ KỸ THUẬT THÔNG TIN

BÁO CÁO THỰC TẬP

XÂY DỰNG ỨNG DỤNG KẾT NỐI CAMERA IP TRÊN NỀN TẢNG DI ĐỘNG

Công ty thực tập : KiteMetric Người phụ trách : Phạm Hoàng Hải Thực tập sinh : Trần Văn Bảo

Trang 3

LỜI MỞ ĐẦU

Với sự phát triển vượt bậc của Công nghệ Thông tin trong thời đại số hoá, cuộc sống con người được hỗ trợ rất nhiều bởi những thiết bị điện tử, máy vi tính, điện thoại thông minh,… Có thể kể đến các ứng dụng di động với nhiều mục đích sử dụng khác nhau Việc xây dựng các ứng dụng cho điện thoại thông minh được xem như một ngành công nghiệp mới đầy tiềm năng Những phần mềm, ứng dụng cho điện thoại thông minh hiện nay rất phong phú, đa dạng trên các hệ điều hành di động đáp ứng hầu hết nhu cầu

sử dụng của mọi người như công việc, giải trí, quản lý, an ninh,… Trong đó, nhóm quan tâm đến vấn đề kết nối di động với các thiết bị điện tử, cụ thể hơn đó chính là Camera IP Công dụng chính của Camera là theo dõi hình ảnh kết hợp với sự linh hoạt của di động

có thể giúp con người dễ dàng hơn trong việc quản lý các hoạt động chung, kịp thời cảnh báo cũng như xử lý những vấn đề bất trắc

Sau một thời gian học tập tại trường, với mong muốn trao dồi kinh nghiệm thực tế, cũng như tham gia làm việc trong môi trường doanh nghiệp Vì vậy bản thân quyết định chọn KiteMetric – một công ty với môi trường làm việc lý tưởng, chuyên nghiệp, năng động để thực hiện dự án lần này

Trang 4

LỜI CẢM ƠN

Đầu tiên em xin gửi lời cảm ơn chân thành đến quý công ty KiteMetric đã tạo điều kiện giúp em có cơ hội thực tập tại công ty Thời gian 3 tháng thực tập dưới sự hướng dẫn nhiệt tính của thầy Phạm Hoàng Hải, bản thân em đã nhận được nhiều kiến thức mới

và quan trọng cho quá trình xây dựng ứng dụng kết nối Camera IP Nhờ sự chỉ dẫn, định hướng của thầy đã giúp em và nhóm triển khai thuận lợi, thực hiện yêu cầu trong dự án

Em xin cảm ơn các bạn Trần Lê Bảo Châu, Phan Thị Hồng Cúc, Đoàn Thị Thanh Hiếu, Nguyễn Trọng Thuận đã cùng em xây dựng ứng dụng kết nối Camera IP Nhóm đã giúp em bổ sung những kiến thức mới để có thể hoàn thành tốt đề tài thực tập

Bên cạnh đó, em cũng xin gửi lời cảm ơn chân thành đến các thầy cô giáo trường Đại học Công nghệ Thông tin, ĐHQG – HCM nói chung, thầy Nguyễn Tấn Trần Minh Khang và các thầy cô trong Khoa Công nghệ Phần mềm nói riêng đã giảng dạy những kiến thức nền tảng quan trọng thời gian qua giúp em hoàn thành đề tài lần này

Sau đây là báo cáo kết quả của quá trình tìm hiểu, nghiên cứu, thực hiện trong thời gian thực tập, bên cạnh đó sẽ không tránh khỏi những thiếu sót Em rất mong nhận được những lời nhận xét và đóng góp của quý thầy cô để bài báo cáo được hoàn thiện

Em xin chân thành cảm ơn!

Trần Văn Bảo

Thành phố Hồ Chí Minh, ngày 17 tháng 6 năm 2022

Trang 5

NHẬN XÉT CỦA KHOA

Trang 6

MỤC LỤC

Chương 1: GIỚI THIỆU CÔNG TY THỰC TẬP 7

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

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

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

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

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

2.1 Công cụ quản lý dự án 11

2.2 Công cụ thiết kế giao diện – Figma 12

2.3 Ngôn ngữ lập trình – Dart 12

2.4 Môi trường phát triển ứng dụng – Android Studio 13

2.5 Nền tảng phát triển ứng dụng – Flutter 14

3 Thực hiện project 14

4 Lịch làm việc 16

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

1 Giới thiệu về project 19

2 Kế hoạch 19

TÀI LIỆU THAM KHẢO 22

TỔNG KẾT 23

Trang 7

Chương 1: GIỚI THIỆU CÔNG TY THỰC TẬP

1 Giới thiệu công ty

Công ty KiteMetric được thành lập vào năm 2012, hoạt động trong các lĩnh vực về phần mềm, học máy, thiết kế với mục tiêu xây dựng các sản phẩm sáng tạo, giải quyết một số thách thức kỹ thuật thú vị nhất trên thế giới cho các công ty khởi nghiệp và doanh nghiệp Công ty sẽ biến những ý tưởng của khách hàng thành những sản phẩm có chất lượng cao nhất, giúp các công ty khởi nghiệp và doanh nghiệp đẩy nhanh quá trình phát triển sản phẩm để đưa sản phẩm ra thị trường với tốc độ nhanh nhất

Hình 1 Logo của công ty KiteMetric

Công ty cung cấp các sản phẩm từ thiết kế đến phát triển sản phẩm

Hệ thống công nghệ bao gồm : Nodejs, Java, Python, Javascript, ReactJS, VueJS, Docker, Kubernetes, phát triển ứng dụng di động native (iOS, Android, Windows)/cross-platform (React Native)

Hệ thống học máy: Deep learning frameworks (Tensorflow, PyTorch, Caffe2), các thuật toán học máy cơ bản, phát hiện đối tượng, nhận dạng, truy vết, video và xử lý ảnh Các lĩnh vực kinh doanh:

̶ Phát triển Web & Di động: Thiết kế và xây dựng các sản phẩm hiệu suất cao với trải nghiệm người dùng tuyệt vời trên tất cả các nền tảng

Trang 8

̶ Học máy: Xây dựng các ứng dụng AI để tự động hóa các hoạt động thủ công, cải thiện hoạt động kinh doanh với trí thông minh theo hướng dữ liệu

̶ Trải nghiệm người dùng: Thiết kế mô hình, thử nghiệm các khái niệm để xác thực

ý tưởng và đưa ra thiết kế UI / UX sáng tạo để mang lại tính độc đáo của bất kỳ sản phẩm nào

̶ Tư vấn công nghệ: Giúp định hình ý tưởng của khách hàng, xác định các rào cản

kỹ thuật, đề xuất các giải pháp và công nghệ phù hợp

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

FaceSwap FaceSwap là một ứng dụng thú vị cho phép người dùng thay thế khuôn

mặt nhân vật nổi tiếng trong ảnh bằng khuôn mặt của họ bằng cách sử dụng một bức ảnh duy nhất từ máy ảnh Ứng dụng này có sẵn trên cả Android và iOS với hơn một nửa triệu người dùng

Foresight Visualization Platform Công ty đã xây dựng một bộ phần mềm hoàn

chỉnh từ nhập, xử lý, quản lý và hiển thị cho dữ liệu 2D và 3D trao quyền cho các phương tiện tự động và rô bốt di động Đây là một dự án hợp tác với Foresight AI Inc.,

một công ty khởi nghiệp được tài trợ tốt ở Thung lũng Silicon

Smart Retail Công ty đang xây dựng một nền tảng phân tích tại cửa hàng bằng cách

sử dụng các thuật toán học máy và học sâu tiên tiến để xử lý và phân tích hành vi của

khách hàng trong các cửa hàng thực

Blanket Blanket Inc là một công ty khởi nghiệp được tài trợ tốt, được thành lập ở

trung tâm Thành phố New York Công ty đã giúp Blanket xây dựng và ra mắt sản phẩm ngay từ ngày đầu tiên Sản phẩm này là một ứng dụng dành cho thiết bị di động áp dụng kết hợp các thuật toán để thực hiện nhiệm vụ, đo lường và khen thưởng hiệu suất của nhân viên, đồng thời, giúp tăng cường hiệu quả trong quản lý nhà hàng và hoạt động

hàng ngày của họ

Trang 9

CoinMarket CoinMarket là công cụ quản lý danh mục đầu tư tối ưu dành cho tiền

điện tử có sẵn trên nhiều nền tảng (Android/iOS) phục vụ hàng trăm nghìn khách hàng

trên khắp thế giới

Vinasun Taxi Cùng với một nhóm khác, công ty đã xây dựng Hệ thống Điều phối

Taxi Thông minh (tương tự như Uber) cho Vinasun, một trong những công ty taxi lớn nhất tại Việt Nam Nền tảng này đã giảm đáng kể chi phí điều phối dựa trên con người

truyền thống, tăng khả năng sử dụng xe và giảm thời gian chờ đợi cho khách hàng

CapShare Capshare là một mạng xã hội di động cho phép người dùng chia sẻ những

khoảnh khắc và trải nghiệm tuyệt vời của họ với gia đình, bạn bè và những người khác Ứng dụng này cung cấp một công cụ chỉnh sửa video mạnh mẽ nhưng dễ sử dụng cho phép người dùng ghép các video, hình ảnh và âm nhạc lại với nhau như một người

chuyên nghiệp

Tapviral Một nền tảng mạng có ảnh hưởng giúp đưa ứng dụng của khách hàng lên

các mạng này ngay lập tức Khách hàng cũng sẽ có thể xây dựng các gói tùy chỉnh để phù hợp với kế hoạch của mình Ứng dụng sẽ có mức tăng trưởng tự nhiên, với số lượt

tải xuống và mức độ tương tác của người dùng ngày càng tăng

Trang 10

Chương 2: NỘI DUNG THỰC TẬ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ác giá trị của công ty:

̶ Agile & Lean Chúng tôi lặp đi lặp lại một cách nhanh chóng trong thời

gian chạy nước rút một tuần để giúp khách hàng cung cấp MVP của sản phẩm để đánh giá thị trường với ít nỗ lực nhất Chúng tôi tự hào về công việc của mình và tích cực đóng góp ý kiến của mình để giúp làm sắc nét logic kinh doanh

̶ Tính minh bạch Chúng tôi đầu tư vào các công cụ năng suất để lập kế

hoạch và theo dõi tiến độ công việc (JIRA, Trello), ghi chép đầy đủ quy trình của chúng tôi (Confluence, Basecamp) và giao tiếp hàng ngày (Slack)

̶ Về chất lượng Chúng tôi có một trong những đội ngũ tốt nhất với hơn 10

năm kinh nghiệm trong ngành Các kỹ sư tài năng của chúng tôi được lựa chọn kỹ càng thông qua quy trình phỏng vấn theo tiêu chuẩn thung lũng Silicon và được đào tạo bài bản bởi các kỹ sư hàng đầu tại Hoa Kỳ Chúng tôi áp dụng quy trình kỹ thuật tiêu chuẩn công nghiệp: TDD, pair programming, CI/CD để cung cấp các sản phẩm với chất lượng cao nhất

̶ Bảo mật & Quyền riêng tư Chúng tôi thực hiện các tiêu chuẩn bảo mật

cao để đảm bảo dữ liệu khách hàng được bảo vệ tốt Trong quá trình này, chúng tôi thường xuyên kiểm tra các sản phẩm để tìm các vấn đề bảo mật tiềm ẩn Đồng thời, các điều khoản NDA dành cho khách hàng của chúng tôi luôn được tôn trọng

Kết quả: Hiểu thêm về công ty KiteMetric, văn hóa, giá trị, quá trình thành lập và

phát triển Có thêm các kỹ năng về việc quản lý nhóm, làm việc có kế hoạch và

cách thức tổ chức công việc

Trang 11

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

Trong quá trình xây dựng một ứng dụng kết nối Camera IP, cần sử dụng các công cụ

và kỹ thuật sẵn có phục vụ cho việc quản lý, kiểm soát và theo dõi các vấn đề xảy ra trong dự án, liên lạc và trao đổi thông tin giữa các thành viên Hơn nữa để xây dựng hoàn chỉnh một ứng dụng cần các kỹ thuật lập trình, nền tảng phát triển ứng dụng, môi trường thử nghiệm và đặc biệt là công cụ thiết kế giao diện

2.1 Công cụ quản lý dự án

Thời gian: 1 tuần

Nội dung:

Tìm hiểu cách hoạt động của các công cụ quản lý dự án:

̶ Jira: là công cụ để quản lý dự án, kiểm soát và theo dõi các vấn đề xảy ra

trong dự án, quản lý các phản hồi từ phía người sử dụng

̶ Slack: là một ứng dụng làm việc nhóm giúp team làm việc cùng nhau hiệu

quả hơn với sự tương tác, trao đổi qua khung chat linh hoạt Slack lại tập trung phát triển các tính năng giúp việc tương tác nhóm mạnh mẽ, gắn kết hơn Không giống email, các hội thoại trên phần mềm dễ tìm kiếm và theo dõi tại mỗi nhóm/dự án, các thành viên có thể gọi, trao đổi, chia sẻ dữ liệu, các tệp và kết nối với các ứng dụng khác do có mở cổng API trên phần mềm

̶ Trello: là một ứng dụng làm việc nhóm nổi tiếng thế giới với dạng bảng

Kanban, quản lý đầu công việc theo các danh mục chính là To do, Doing và Done

Thực hiện: Tìm hiểu cách thức hoạt động cũng như các chức năng của từng

công cụ và thực hành các thao tác cơ bản Áp dụng công cụ vào các công việc của nhóm

Trang 12

Kết quả: Hoàn thành thao tác cơ bản trên các công cụ quản lý dự án Nắm rõ

các chức năng của mỗi công cụ Nhóm sử dụng công cụ để trao đổi, tương tác

và quản lý công việc

2.2 Công cụ thiết kế giao diện – Figma

Thời gian: 3 tuần

Nội dung: Nghiên cứu cách sử dụng các thành phần, tính năng cơ bản để thiết

kế giao diện cho ứng dụng Thực hiện thiết kế giao diện cơ bản cho ứng dụng kết nối Camera IP

Với giao diện thân thiện và dễ sử dụng, Figma nhanh chóng nổi lên như một công cụ design UI phổ biến trong cộng đồng công nghệ toàn cầu Một số brand lớn sử dụng Figma cho tới thời điểm hiện tại gồm có: Twitter, Microsolf, GitHub và Dropbox

Thời gian gần đây trong giới thiết kế thường nhắc tới figma, adobe xd, sketch nhiều thay vì photoshop (PTS) như trước kia Design cả cho Mobile App và nhận thấy rằng PTS thực sự quá chậm và gặp nhiều khó khăn khi design ui/ux cho cả web & mobile app Khi xu thế dịch chuyển chú trong vào UX nhiều hơn thì sinh ra một số công cụ design dạng vector như Sketch và Figma, đa số các deginer thực sự hài lòng về 2 tool design này: nhanh, thông minh, dễ quản lí dự

án và tương tác với nhau trên bản thiết kế

Thực hiện: Nhóm lên kế hoạch nghiên cứu, trao đổi và thiết kế các màn hình

Trang 13

Nội dung: Nghiên cứu, tìm hiểu, chạy các mã code đơn giản để tạo một

constructor, nắm rõ các cách khác nhau để chỉ định tham số, khi nào và làm thể nào để tạo getters và setters, cách Dart xử lý bảo mật, functional programming trong Dart,

Dart là ngôn ngữ lập trình cho Flutter – bộ công cụ giao diện người dùng của Google để xây dựng các ứng dụng Mobile, Web và Desktop app đẹp, được biên dịch nguyên bản từ một cơ sở mã code duy nhất

Thực hiện: Nhóm lên kế hoạch nghiên cứu, trao đổi và lập trình ứng dụng sử

dụng ngôn ngữ Dart

Kết quả: Hoàn thành xây dựng ứng dụng bằng ngôn ngữ Dart trên nền tảng

Flutter

2.4 Môi trường phát triển ứng dụng – Android Studio

Thời gian: 1 tuần

Nội dung: Nghiên cứu cách hoạt động và thực hiện cài đặt môi trường

Android Studio là IDE chính thức được sử dụng trong phát triển ứng dụng Android dựa trên IntelliJ IDEA

Chức năng chính của Android Studio là cung cấp các giao diện giúp người dùng có thể tạo các ứng dụng và xử lý các công cụ file phức tạp sau hậu trường Ngôn ngữ lập trình được sử dụng trong Android Studio là Java và nó sẽ được cài đặt sẵn trên thiết bị của bạn

Khi sử dụng Android Studio thì bạn chỉ cần viết, chỉnh sửa và lưu trữ chúng trên các dự án của mình và các file nằm trong dự án đó Đồng thời, Android Studio còn cung cấp quyền truy cập vào Android SDK

Thực hiện: Nhóm cài đặt môi trường phát triển cho ứng dụng

Kết quả: Hoàn thành cài đặt môi trường trên tất cả các máy Bắt đầu xây dựng

ứng dụng trên nền tảng Flutter

Trang 14

2.5 Nền tảng phát triển ứng dụng – Flutter

Thời gian: 8 tuần

Nội dung: Xây dựng ứng dụng kết nối Camera IP trên nền tảng Flutter

Khi nhắc đến việc làm sao để tạo ra một ứng dụng mobile thì thứ mọi người sẽ lập tức nghĩ ngay đến là các ứng dụng gốc (native app: Android và iOS), nhưng bên cạnh đó vẫn còn rất nhiều công cụ có thể giúp bạn tạo ra 1 ứng dụng di

động theo ý muốn của mình Và Flutter là một trong số đó

Flutter là nền tảng phát triển ứng dụng đa nền tảng cho iOS và Android do Google phát triển được sử dụng để tạo ra các ứng dụng gốc (native app) cho Google

Flutter gồm 2 thành phần quan trọng:

̶ Một SDK (Software Development Kit): Một bộ sưu tập các công cụ sẽ giúp bạn phát triển các ứng dụng của mình Điều này bao gồm các công cụ để biên dịch mã của bạn thành mã máy gốc (mã cho iOS và Android)

̶ Một Framework (UI Library based on widgets): Một tập hợp các thành phần giao diện người dùng (UI) có thể tái sử dụng (button, text inputs, slider, v.v.) giúp bạn có thể cá nhân hóa tùy theo nhu cầu của riêng mình

Thực hiện: Xây dựng ứng dụng kết nối Camera IP trên nền tảng Flutter

Kết quả: Hoàn thành xây dựng ứng dụng với các chức năng kết nối Camera IP

3 Thực hiện project

Dự án được thực hiện theo quy trình quản lý và phát triển phần mềm Scrum Mỗi giai đoạn trong quy trình được gọi là Sprint Cụ thể trong dự án này, mỗi Sprint được thực hiện trong khoảng thời gian không ngắn hơn 1 tuần và không dài hơn 1 tháng Trong các

dự án được quản lý bởi quy trình phát triển phần mềm Scrum thì mỗi Sprint sẽ bao gồm các bước Sprint Planning, Daily Sprint, Sprint Review và Sprint Retrospective

̶ Sprint Planning: Là sự kiện diễn ra đầu Sprint để lên kế hoạch làm việc cho toàn

bộ Sprint Sự kiện này được chia làm 3 phần (3 câu hỏi Why – What – How) với 3

Ngày đăng: 17/08/2022, 21:12

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Flutter documentation. Flutter. (n.d.). Retrieved December 28, 2021, from https://docs.flutter.dev/ Sách, tạp chí
Tiêu đề: Flutter documentation
[2] What is Scrum? Scrum.org. (n.d.). Retrieved December 28, 2021, from https://www.scrum.org/resources/what-is-scrum Sách, tạp chí
Tiêu đề: What is Scrum
[4] Dart programming language. Dart. (n.d.). Retrieved December 30, 2021, from https://dart.dev/ Sách, tạp chí
Tiêu đề: Dart programming language
[5] Free mobile UI kit. Figma. (n.d.). Retrieved December 30, 2021, from https://www.figma.com/templates/mobile-ui-kit/ Sách, tạp chí
Tiêu đề: Free mobile UI kit
[6] Atlassian. (n.d.). Jira: Issue & project tracking software. Atlassian. Retrieved December 30, 2021, from https://www.atlassian.com/software/jira Sách, tạp chí
Tiêu đề: Jira: Issue & project tracking software
[3] Kitemetric. (n.d.). Retrieved December 30, 2021, from https://kitemetric.com/ Link

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w