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

đồ án ỨNG DỤNG TRỢ LÝ THÚ CƯNG

37 48 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ô! Nhận xét giảng viên …………………………………………………………… ………………………………………………………………………… …………… …………………………………………………………… ………………………………………………………………………… …………… …………………………………………………………… ………………………………………………………………………… …………… …………………………………………………………… ………………………………………………………………………… …………… …………………………………………………………… ………………………………………………………………………… …………… …………………………………………………………… ………………………………………………………………………… …………… …………………………………………………………… ………………………………………………………………………… …………… …………………………………………………………… ………………………………………………………………………… …………… …………………………………………………………… ………………………………………………………………………… …………… Mục Lục Chương Giới thiệu đề tài 1.1 Dẫn nhập 1.2 Tổng quan vấn đề 1.2.1 Bài tốn 1.2.2 Giới hạn phạm vi 1.2.3 Các nội dung nghiên cứu thực 1.2.4 Kết hướng tới Chương Các kiến thức công nghệ, tảng 2.1 Nodejs framework Expressjs 8 a) Nodejs b) Framework Expressjs 2.2 Mongodb a) NoSql b) Mongodb 2.3 Reactjs 2.4 GraphQL 10 2.5 Flutter 10 Chương Xây dựng ứng dụng 12 3.1 Tổng quan khảo sát ứng dụng liên quan 12 3.2 Xác định yêu cầu 12 3.2.1 Usecase 12 a) Tổng quát 12 b) Đăng nhập hệ thống 13 c) Quản lý người dùng 13 d) Quản lý thú cưng 14 e) Quản lý đăng 14 f) Quản lý báo (Wiki) 15 3.2.2 Mô tả usecase 15 a) Actor 15 b) Usecase 15 3.2.3 Thiết kế database 19 a) Sơ đồ ERD 19 b) Danh sách bảng 20 c) Mô tả chi tiết bảng 20 3.2.4 Mô tả giao diện 25 3.2.5 Các áp dụng Framework Expressjs vào đề tài 34 Chương 4: Thử nghiệm, đánh giá 36 4.1 Môi trường thử nghiệm 36 4.2 Kết thử nghiệm 36 4.3 Đánh giá kết sản phẩm 36 Chương 5: Kết luận hướng phát triển 37 5.1 Kết đạt 37 5.2 Hạn chế hướng phát triển 37 5.2.1 Hạn chế 37 5.2.2 Hướng phát triển 37 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 ni 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 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 cịn 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

Ngày đăng: 18/12/2021, 22:10

Xem thêm:

TỪ KHÓA LIÊN QUAN

w