1. Trang chủ
  2. » Cao đẳng - Đại học

ĐỒ án ỨNG DỤNG TRỢ lý THÚ CƯNG

35 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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM -🙚🙚🙚🙚🙚 - BÁO CÁO ĐỒ ÁN SE122.L11 ĐỀ TÀI: ỨNG DỤNG TRỢ LÝ THÚ CƯNG Giảng viên hướng dẫn: ThS Huỳnh Hồ Thị Mộng Trinh Sinh viên thực hiện: NGUYỄN QUANG HUY 17520583 PHẠM PHÚC KHẢI 17520081 Tp Hồ Chí Minh, 22/01/2020 Lời cảm ơn Đầu tiên, nhóm tác giả xin gửi lời cảm ơn chân thành đến tập thể quý Thầy Cô Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM quý Thầy Cô khoa Công nghệ phần mềm giúp cho nhóm tác giả có kiến thức làm tảng để thực đề tài Đặc biệt, nhóm tác giả xin gửi lời cảm ơn lịng biết ơn sâu sắc tới Huỳnh Hồ Thị Mộng Trinh (Giảng viên môn đồ án 2) Cơ hướng dẫn, hỗ trợ nhóm hồn thành đồ án Trong thời gian học đề tài, nhóm tác giả vận dụng kiến thức tảng tích lũy đồng thời kết hợp với việc học hỏi nghiên cứu kiến thức Từ đó, nhóm vận dụng tối đa thu thập để hồn thành báo cáo đồ án tốt Tuy nhiên, trình thực hiện, nhóm tác giả khơng tránh khỏi thiếu sót Chính vậy, nhóm tác giả mong nhận góp ý từ phía Thầy Cơ nhằm hồn thiện kiến thức mà nhóm tác giả học tập hành trang để nhóm tác giả thực tiếp đề tài khác tương lai Xin chân thành cảm ơn quý Thầy Cô! Mục Lục Chương Giới thiệu đề tài 1.1 Dẫn nhập Xã hội ngày phát triển, nhu cầu người ngày đáp ứng đầy đủ Tuy nhiên khoảng cách người với người dần bị thu hẹp phát triển xã hội Những người đơn tìm đến cho loại động vật dễ thương để bầu bạn Từ phong trào nuôi thú cưng ngày mở rộng từ thành thị nông thôn Những Pet dễ thương ngồi bầu bạn cịn đem đến nhiều niềm vui cho Sen Tuy nhiên làm để chăm sóc thật tốt cho thú cưng Nhận thấy yêu cầu khách quan với yêu thương với boss nên chúng em chọn thực đề tài 1.2 Tổng quan vấn đề 1.2.1 Bài tốn Bài tốn đặt xây dựng ứng dụng trợ lý thú cưng giúp quản lí thú cưng cân nặng, lịch tiêm chủng, … Ngồi cịn giúp thú cưng hẹn hị hay đăng sống ảo 1.2.2 Giới hạn phạm vi Hệ thống xây dựng đáp ứng yêu cầu đây: ● Đăng nhập, xác thực người dùng ● Quản lý người dùng ● Quản lý thú cưng (PET) ● Quản lý mạng xã hội thú cưng ● Quản lý Wiki, kinh nghiệm nuôi, báo khoa học 1.2.3 Các nội dung nghiên cứu thực ● Học Nodejs framework Expressjs: Tìm event loop, routing xử lý bất đồng Expressjs ● Tìm hiểu Graphql apollo server để viết API ● Tìm hiểu React xây dựng DashBoard cho ứng dụng ● Tìm hiểu Flutter để xây dựng app cho ứng dụng 1.2.4 Kết hướng tới Hướng tới việc xây dựng app mobile đa tảng đồng thời có dashboard web quản lí ứng dụng Khai thác triệt để lợi tảng nodejs Đồng thời tạo ứng dụng có khả dễ dàng nâng cấp sau Chương Các kiến thức công nghệ, tảng 2.1 Nodejs framework Expressjs a) Nodejs Node.js JavaScript runtime build dựa Chrome’s V8 JavaScript engine Node.js sử dụng mơ hình event-driven, non-blocking I/O khiến trở nên nhẹ hiệu b) Framework Expressjs Expressjs web framework mã nguồn mở dành cho Nodejs, thiết kế để xây dựng web application API Express framework Nodejs phổ biến 2.2 Mongodb a) NoSql - NoSQL dạng CSDL mã nguồn mở viết tắt bởi: NoneRelational SQL hay có nơi thường gọi Not-Only SQL - NoSQL phát triển Javascript Framework với kiểu liệu JSON dạng liệu theo kiểu key value - NoSQL đời mảnh vá cho khuyết điểm thiếu xót hạn chế mơ hình liệu quan hệ RDBMS (Relational Database Management System - Hệ quản trị sở liệu quan hệ) tốc độ, tính năng, khả mở rộng, - Với NoSQL bạn mở rộng liệu mà khơng lo tới việc tạo khóa ngoại, khóa chính, kiểm tra ràng buộc v.v - NoSQL bỏ qua tính tồn vẹn liệu transaction để đổi lấy hiệu suất nhanh khả mở rộng - NoSQL sử dụng nhiều công ty, tập đồn lớn, ví dụ FaceBook sử dụng Cassandra FaceBook phát triển, Google phát triển sử dụng BigTable, b) Mongodb - MongoDB hệ quản trị sở liệu mã nguồn mở, CSDL thuộc NoSql hàng triệu người sử dụng - MongoDB database hướng tài liệu (document), liệu lưu trữ document kiểu JSON thay dạng bảng CSDL quan hệ nên truy vấn nhanh - Với CSDL quan hệ có khái niệm bảng, sở liệu quan hệ (như MySQL hay SQL Server ) sử dụng bảng để lưu liệu với MongoDB dùng khái niệm collection thay bảng - So với RDBMS MongoDB collection ứng với table, document ứng với row , MongoDB dùng document thay cho row RDBMS - Các collection MongoDB cấu trúc linh hoạt, cho phép liệu lưu trữ không cần tuân theo cấu trúc định - Thông tin liên quan lưu trữ để truy cập truy vấn nhanh thông qua ngôn ngữ truy vấn MongoDB - 2.3 Reactjs React thư viện Javascript nhằm đơn giản hóa việc phát triển giao diện trực quan phát triển facebook phát hành vào năm 2013, React sử dụng làm thư viện font-end facebook instagram từ mắt Hiện số lượng ứng dụng React tăng lên nhanh Mục tiêu làm cho dễ dàng hình dung giao diện trạng thái thời điểm nào, cách chia UI thành “Component” React sử dụng để xây dựng ứng dụng single page application 2.4 GraphQL GraphQL Graph Query Language dành cho API Nó phát triển Facebook trì nhiều cơng ty lớn, cá nhân khắp giới GraphQL từ đời gần thay hoàn toàn REST hiệu quả, mạnh mẽ linh hoạt nhiều - Quan phân tích, chúng tơi lựa chọn noSQL database cụ thể mongoDB để triển khai dự án ưu điểm sau: • Document oriented • Hiệu suất cao • Tính sẵn sàng cao – Nhân rộng • Khả mở rộng cao – Sharding • Năng động – Khơng có lược đồ cứng nhắc • Linh hoạt – thêm / xóa trường có khơng ảnh hưởng đến ứng dụng • Dữ liệu khơng đồng • Khơng joins • Phân phối • Biểu diễn liệu JSON BSON • Hỗ trợ khơng gian địa lý (Geospatial) • Tích hợp dễ dàng với BigData Hadoop • Ngơn ngữ truy vấn dựa tài liệu mạnh mẽ SQL • Các phân phối cloud AWS, Microsoft, RedHat, dotCloud SoftLayer, v.v … Trên thực tế, MongoDB xây dựng cho cloud Kiến trúc mở rộng quy mô tự nhiên nó, kích hoạt sharding, liên kết tốt với quy mơ nhanh nhẹn có nhờ điện toán đám mây 2.5 Flutter Để lập trình ứng dụng (app), chúng tơi lựa chọn Flutter tảng phát triển ứng dụng đa tảng cho iOS Android Google phát triển Tại lại flutter? - Tính nhanh chóng: Tính hot reload giúp bạn nhanh chóng dễ dàng thử nghiệm, xây dựng giao diện người dùng, thêm tính sửa lỗi nhanh Trải nghiệm tải lại lần thứ hai, mà không làm trạng thái, emulator, simulator device cho iOS Android - Tính thẩm mĩ: Thỏa mãn người dùng bạn với widget built-in đẹp mắt theo Material Design Cupertino (iOS-flavor), API chuyển động phong phú, scroll tự nhiên mượt mà tự nhận thức tảng - Tính thống: Làm cho ứng dụng bạn trở nên sống động với API platform, SDK bên thứ ba native code Nó cho phép bạn sử dụng lại mã Java, Swift ObjC truy cập tính SDK native iOS Android - Tính thống nhất: Flutter có cơng cụ thư viện để giúp bạn dễ dàng đưa ý tưởng vào sống iOS Android Nếu bạn chưa có kinh nghiệm phát triển thiết bị di động, Flutter cách dễ dàng nhanh chóng để xây dựng ứng dụng di động tuyệt đẹp Nếu bạn nhà phát triển iOS Android có kinh nghiệm, bạn sử dụng Flutter cho View bạn tận dụng nhiều code Java / Kotlin / ObjC / Swift có bạn Chương Xây dựng ứng dụng 3.1 Tổng quan khảo sát ứng dụng liên quan Pet Assistant, Pet Diary Assistant, Maddie's Pet Assistant 3.2 Xác định yêu cầu 3.2.1 Usecase a) Tổng quát image string Ảnh nhận diện type string Loại PET createdAt datetime Ngày tạo updatdAt datetime Ngày cập nhật gần ● Bảng typeofwikis STT Tên thuộc tính Kiểu liệu Ý nghĩa _id objectId Mã loại wiki name string Tên loại wiki createdAt datetime Ngày tạo updatdAt datetime Ngày cập nhật gần ● Bảng wikicategories STT Tên thuộc tính Kiểu liệu Ý nghĩa _id title Mã phân loại báo title string Tiêu đề phân loại báo image string Ảnh typeOfWikiId objectId Mã loại Wiki createdAt date Ngày tạo updatdAt date Ngày cập nhật gần ● Bảng postcategories STT Tên thuộc tính Kiểu liệu Ý nghĩa _id objectId Mã post wiki title string Tiêu đề báo content string Nội dung báo link string Đường dẫn báo wikiCategoryId objectId Mã phân loại báo like int Số lượng lượt thích seen int Số lượng lượt xem share int Số lượng lượt chia createdAt datetime Ngày tạo 10 updatedAt datetime Ngày cập nhật gần 3.2.4 Mô tả giao diện a) Giao diện đăng nhập hệ thống Người dùng cần tiến đến giao diện đăng ký tài khoản chưa có tài khoản đăng nhập Hoặc đăng nhập có tài khoản Người dùng gõ xác email password để đăng nhập tìm lại mật quên b) Giao diện tab Story Dùng để “Sen” đăng tương tác với thành viên mạng xã hội dành cho “Sen” c) Giao diện Home Nơi để “Sen” thêm, cập nhật thơng tin “Boss” Ngồi cịn cung cấp tính mua bán, trao đổi PET cịn có set kèo hẹn hị cho thú Với giao diện thêm “Boss” Đầu tiên chọn loại Boss muốn thêm, ví dụ muốn thêm chó chọn Dog Sau thêm thơng tin cho cún đáng u thơi hồn thành d) Giao diện thông báo Hiển thị danh sách thông báo hoạt động e) Giao diện cài đặt Dùng để quản lý cài đặt, quản lý profile “Sen”, “Boss” chưa tin nhắn tương tác “Sen” 3.2.5 Các áp dụng Framework Expressjs vào đề tài Expressjs framework xây dựng tảng Nodejs Nó cung cấp tính mạnh mẽ để phát triển web mobile Expressjs hỗ trợ method HTTP middleware tạo API vô mạnh mẽ dễ sử dụng Tất ứng dụng áp dụng a) Thuê Manager (require statements) Express giúp tạo người quản lí để load gói module tải lên để ứng dụng sử dụng b) Middleware Với tư tưởng chung cầu nối tương tác người dùng phần nhân hệ thống, lập trình Web, Middleware đóng vai trò trung gian request/response (tương tác với người dùng) xử lý logic bên web server Do đó, Middleware Framework lập trình Web (ExpressJS), hàm dùng để tiền xử lý, lọc request trước đưa vào xử lý logic điều chỉnh response trước gửi cho người dùng c) Routing Router Routing Nodejs khái niệm nói đến việc xác định ứng dụng đáp ứng người dùng tạo request đến endpoint (Điểm cuối) cụ thể Điểm cuối thường URI đường dẫn (Path) với Request method (POST, PUT, GET, ) cụ thể Router phương thức khai báo để đáp lại request từ client, hiểu tương tự Request mapping Nói đơn giản định nghĩa URL cho trang web mà người dùng tương tác Một số định nghĩa router thường dùng d) Ports Do sever hoạt động thường xử lý nhiều tác vụ nhận gửi gói tin hoạt động diễn port khác Expressjs hỗ trợ định vị địa (ports) giúp ứng dụng trao đổi gói tin nơi hợp lý, không trùng lặp Chương 4: Thử nghiệm, đánh giá 4.1 Môi trường thử nghiệm a) Máy khách: Máy 1: ● Laptop Core I5, 8GB RAM ● Trình duyệt Google Chrome v83, Firefox 77 Máy 2: ● Vsmart active 3, 4G RAM b) Máy chủ ● Server Expressjs deploy lên heroku cloud 4.2 Kết thử nghiệm ● Phần mềm chạy cực nhanh ● Giao diện cực đẹp, reload mượt ● Tuy nhiên API fetch chậm demo server miễn phí 4.3 Đánh giá kết sản phẩm Sản phẩm hoạt động với 90% yêu cầu nhóm đề Các chức hoạt động tốt, giao diện thiết kế đẹp, thuận mắt Tuy nhiên vài lỗi phát sinh phần mềm hoạt động không ổn định máy chủ miễn phí Nhóm cố gắng khắc phục bất cập thời gian sớm để tạo ứng dụng hoàn hảo Chương 5: Kết luận hướng phát triển 5.1 Kết đạt ● Nhóm nghiên cứu, học tập nhiều phương pháp phát triển ứng dụng web, mobile từ Expressjs (Nodejs), Reactjs, Flutter ● Các kiến thức thuật toán xử lý request/response Website ● Nghiên cứu mơ hình xử lý liệu, công nghệ liên quan javascript ● Hiểu biết thêm cách tối ưu hiệu phần mềm môi trường phát triển ● Nắm bắt cách tạo sản phẩm triển khai sản phẩm 5.2 Hạn chế hướng phát triển 5.2.1 Hạn chế ● Phần mềm hoạt động chưa ổn định server miễn phí 5.2.2 Hướng phát triển ● Thêm số tính cịn thiếu Pet Tinder, hay Pet Market ... thơng báo Sửa thú cưng Sửa thơng tin thú cưng ● Chọn thú cưng ● Nhấn nút sửa thú cưng ● Nhập thông tin thú cưng muốn sửa Alternative Flow(s) Usecase Mô tả Main Flow ● Nhấn nút đồng ý ● Nếu hệ... tương ứng ● Nếu hệ thống xảy lỗi hiển thị thơng báo Thêm thú cưng Tạo thông tin thú cưng ● Nhấn nút tạo thú cưng ● Nhập thông tin thú cưng Alternative Flow(s) Usecase Mô tả Main Flow ● Nhấn nút đồng... cho thú cưng Nhận thấy yêu cầu khách quan với yêu thương với boss nên chúng em chọn thực đề tài 1.2 Tổng quan vấn đề 1.2.1 Bài tốn Bài toán đặt xây dựng ứng dụng trợ lý thú cưng giúp quản lí thú

Ngày đăng: 05/09/2021, 20:47

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    Chương 1. Giới thiệu đề tài

    1.2. Tổng quan các vấn đề chính

    1.2.2. Giới hạn phạm vi

    1.2.3. Các nội dung nghiên cứu thực hiện

    1.2.4. Kết quả hướng tới

    Chương 2. Các kiến thức công nghệ, nền tảng

    2.1. Nodejs và framework Expressjs

    Chương 3. Xây dựng ứng dụng

    3.1. Tổng quan khảo sát ứng dụng liên quan

    3.2. Xác định yêu cầu

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

TÀI LIỆU LIÊN QUAN

w