Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
5,65 MB
Nội dung
LỜI CẢM ƠN Lời cảm ơn nhóm chúng em xin gửi tới thầy Nguyễn Công Hoan, người tận tình hướng dẫn nhóm chúng em khoảng thời gian thực đồ án Những gợi ý định hướng thầy móng vững để chúng em thực đề tài cách hoàn thiện nhất, lời nhận xét thầy góp ý tổng quan để cải thiện phần mềm cho nhóm chúng em Nhóm chúng em xin chân thành cảm ơn thầy Các kiến thức cần thiết việc thực đề tài thực hành tháng, với khoảng thời gian ngắn ngủi việc có thiếu sót hạn chế điều khó tránh khỏi Vì nhóm mong để nhận bảo thầy đóng góp bạn để có hội hồn thiện ứng dụng nhiều Mục Lục: I Giới thiệu chung Sơ lược thành viên nhóm Tổng quan đề tài: 2.1 Giới thiệu đề tài 2.2 Khảo sát trạng 2.3 Nội dung nghiên cứu 2.4 Kết hướng tới II Cơ sở lý thuyết Tổng quan Flutter Dart 1.1 Khái niệm 1.2 Tại lại chọn Flutter dart 1.3 Kiến trúc Flutter 1.4 Một số khái niệm Flutter 1.4.1 Stateful Widget 1.4.2 Stateless Widget Tổng quan Django RESTful Framework 2.1 Khái niệm 2.2 Tại lại chọn Django 2.3 Kiến trúc Django 2.4 Các đặc trưng Django 2.4.1 Django ORM Tổng quan Firebase 3.1 Khái niệm 3.2 Tại lại chọn Firebase 3.3 Một số chức Firebase Tổng quan OneSignal 4.1 Khái niệm 4.2 Tại lại chọn Onesignal 4.3 Kiến trúc Onesignal Tổng quan Ngrok 5.1 Khái niệm 6 6 7 8 8 11 11 12 13 13 13 14 14 14 16 16 16 16 17 17 17 18 18 18 5.2 Tại lại chọn Ngrok 5.3 Kiến trúc Ngrok III Phân tích thiết kế hệ thống Giới thiệu ứng dụng 1.1 Bài toán thực tế 1.2 Hướng giải 1.3 Tổng quan ứng dụng 1.3.1 Sơ đồ 1.3.2 Mơ hình liệu quan hệ 1.3.3 Kiến trúc hệ thống Product Requirement Document 2.1 Objective 2.2 Release 2.2.1 Alpha Release 2.2.2 Beta Release 2.3 Features 2.3.1 Tính Match making 2.3.2 Tính xem người like 2.3.3 Tính Like 2.3.4 Tính sửa thơng tin cá nhân 2.3.5 Tính upload ảnh 2.3.6 Tính nhắn tin 2.4 Mockup Design (Sketch) 2.5 Analytics 2.6 Future work IV Hiện thực hóa hệ thống Kết đạt 1.1 Giao diện hình 1.1.1 Splash Screen 1.1.2 LoginScreen 1.1.3 RegisterScreen 1.1.4 RegisterSubScreen 18 19 19 19 19 19 20 20 28 29 29 29 30 30 31 31 31 32 32 33 33 34 35 47 47 48 48 48 48 49 50 51 1.1.5 MainScreen 1.1.6 LikeScreen 1.1.7 ChatScreen 1.1.8 ProfileScreen 1.2 Ưu điểm 1.3 Nhược điểm Hướng phát triển Tài liệu tham khảo 54 55 56 57 58 58 58 58 I Giới thiệu chung Sơ lược thành viên nhóm Nhóm gồm thành viên: - Thành viên : Đặng Ngọc Duy MSSV : 18520655 Lớp : PMCL2018.1 Email : 18520655@gm.uit.edu.vn - Thành viên MSSV Lớp Email : Đỗ Ngọc Cường : 18520542 : PMCL2018.1 : 18520542@gm.uit.edu.vn Tổng quan đề tài: 2.1 Giới thiệu đề tài Phần mềm dần mảng khơng thể thiếu sống tại, hỗ trợ nhiều khía cạnh từ phần mềm cho việc kiểm toán, quản lý phần mềm mạng xã hội để giao tiếp xã giao Và mảng gần mà phần mềm phát triển hướng tới mảng giao tiếp, hẹn hò Các ứng dụng mảng hướng tới việc số hóa việc làm quen người đẩy nhanh trình tìm hiểu người Việc hẹn hị hay tìm hiểu người ln bao gồm giai đoạn diễn sau: Bắt chuyện người, giai đoạn tìm hiểu cuối dẫn tới giai đoạn hẹn hò Việc đời mạng xã hội hẹn giúp thúc đẩy trình nhanh lên dễ tiếp cận đặc biệt tạo cách dễ để tìm hiểu sâu người Từ nhóm chúng em định lựa chọn đề tài “mạng xã hội hẹn hị” với mục đích tạo nơi giao lưu kết bạn cho người cô đơn đơn giản giảm thời gian trình làm quen người bạn 2.2 Khảo sát trạng Hiện có ứng dụng mạng xã hội mạng xã hội hẹn hị khác kể đến Facebook, Tinder, Badoo, Blued, Ymeetme hầu hết mạng xã hội hướng tới việc kết bạn làm quen người chưa biết bắt đầu bắt chuyện làm quen Trải nghiệm sử dụng phần mềm Tinder chúng em có rút quy trình sau: - Phần mềm bắt phải like người phải chờ người like lại - Phần mềm có giao diện dễ dùng dễ hiểu - Q trình tìm hiểu bắt buộc phải thơng qua chat Đúc kết từ ý tưởng hạn chế nhóm em đề xuất ứng dụng mạng xã hội hẹn hị, tập trung vào việc ghép đơi nhanh Và có tương tác với kênh chat 2.3 Nội dung nghiên cứu Nhóm chúng em xin đề xuất cơng nghệ đối tượng tìm hiểu ứng dụng sau: ● Công nghệ: ○ Flutter dart ○ Django, Django RESTful framework Python ○ PostgreSQL ○ Firebase, OneSignal, Ngrok ○ Mơ hình MVC Bloc ● Đối tượng đề tài hướng đến: ○ Nam, nữ có nhu cầu kết bạn mở rộng mối quan hệ 2.4 Kết hướng tới Đề tài ứng dụng hẹn hò phần mềm sử dụng di động đáp ứng yêu cầu: - Kết bạn thông qua mạng xã hội - Có đăng nơi lưu trữ thơng tin người dùng - Có update trạng thái người dùng - Hỗ trợ chọn bạn để hẹn hị cách nhanh - Thúc đẩy q trình làm quen truyền thống thay vào sử dụng phần mềm di động Và mục tiêu sinh viên là: ● Tìm hiểu framework ● Tìm hiểu trình chọn bạn để hẹn hò ● Xây dựng phần mềm hẹn hò sử dụng điện thoại di động II Cơ sở lý thuyết Tổng quan Flutter Dart 1.1 Khái niệm Flutter Google giới thiệu người giới ứng dụng di động Là SDK Google dành cho thiết bị di động giúp developers designers xây dựng nhanh chóng ứng dụng dành cho thiết bị di động (Android, iOS) Flutter dự án mã nguồn mở giai đoạn thử nghiệm Flutter bao gồm Reactive framework công nghệ hiển thị 2D (2D rendering engine)và công cụ phát triển (development tool) Các thành phần làm việc giúp ta thiết kế, xây dựng, test, debug ứng dụng 1.2 Tại lại chọn Flutter dart Các nhà phát triển Google nơi khác sử dụng Dart để tạo ứng dụng chất lượng cao, quan trọng cho iOS, Android web Với tính nhắm đến phát triển phía khách hàng, Dart phù hợp cho ứng dụng di động web Dart giúp bạn tạo trải nghiệm đẹp, chất lượng cao tất hình, với: ● Một ngơn ngữ tối ưu hóa cho client ● Framework mạnh mẽ ● Cơng cụ linh hoạt 1.3 Kiến trúc Flutter Flutter thiết kế hệ thống nhiều lớp, mở rộng Nó tồn dạng loạt thư viện độc lập mà thư viện phụ thuộc vào lớp bên Khơng có lớp có quyền truy cập đặc quyền vào lớp bên phần mức khung thiết kế để trở thành tùy chọn thay ❖ Embedder Platform-specific: Đối với hệ điều hành bản, ứng dụng Flutter đóng gói giống ứng dụng gốc khác Embedder Platform-specific cung cấp điểm nhập; phối hợp với hệ điều hành để truy cập vào dịch vụ hiển thị bề mặt, khả truy cập đầu vào; quản lý vòng lặp kiện tin nhắn Trình nhúng viết ngôn ngữ phù hợp với tảng: Java C ++ cho Android, Objective-C / Objective-C ++ cho iOS macOS, C ++ cho Windows Linux Sử dụng cơng cụ nhúng, mã Flutter tích hợp vào ứng dụng có dạng mơ-đun mã tồn nội dung ứng dụng Flutter bao gồm số trình nhúng cho tảng mục tiêu chung ❖ Flutter Engine: Cốt lõi Flutter Flutter Engine , phần lớn viết C ++ hỗ trợ nguyên tắc cần thiết để hỗ trợ tất ứng dụng Flutter Động chịu trách nhiệm xếp cảnh tổng hợp cần sơn khung Nó cung cấp triển khai cấp thấp API cốt lõi Flutter, bao gồm đồ họa, bố cục văn bản, tệp mạng I / O, hỗ trợ trợ năng, kiến trúc plugin chuỗi công cụ biên dịch thời gian chạy Dart ❖ Flutter Framework: Flutter Framework , cung cấp framework đại viết ngơn ngữ Dart Nó bao gồm thư viện tảng, bố cục tảng phong phú, bao gồm loạt lớp Làm việc từ lên trên, gồm: ● Foundation classes dịch vụ khối xây dựng animation, painting, and gestures cung cấp nội dung trừu tượng thường sử dụng tảng ● Rendering layer cung cấp trừu tượng để xử lý bố cục Với lớp này, bạn xây dựng đối tượng kết xuất Bạn thao tác động đối tượng này, với tự động cập nhật bố cục để phản ánh thay đổi bạn ChatScreen(ChatRoom) ProfileScreen(MainScreen) Chú thích: SettingButton ChangeImageButton EditProfileButton 2.5 Analytics Key performance Baseline Target Timeframe 100 người dùng 1000 người dùng tháng Nâng số lượng 300 tương tác / 2000 tương tác / tháng tương tác với indicator Nâng số lượng người dùng sử dụng mạng xã hội qua tương tác ứng dụng 2.6 Future work Future features Purpose Priority Timeframe Sử dụng kafka để Giảm tải cho Medium tháng High tuần stream message Hỗ trợ phương server Thêm cách thức thức đăng nhập đăng nhập vào facebook app IV Hiện thực hóa hệ thống Kết đạt 1.1 Giao diện hình 1.1.1 Splash Screen 1.1.2 LoginScreen 1.1.3 RegisterScreen 1.1.4 RegisterSubScreen 1.1.5 MainScreen 1.1.6 LikeScreen 1.1.7 ChatScreen 1.1.8 ProfileScreen 1.2 Ưu điểm ● Học công nghệ Django, Flutter, kiến trúc MVC Bloc ● Vận dụng ORM vào hệ thống ● Sản phẩm có giao diện dễ nhìn, đơn giản , phù hợp với người dùng, hoàn thiện chức 1.3 Nhược điểm ● Các tính chưa hoàn thiện ● Bị lỗi bất đồng khó khăn việc thu thập liệu Hướng phát triển ● ● ● ● Xây dựng chức cịn thiếu Tối ưu hóa chức Đem phần mềm lên tảng web Tối ưu hóa việc xử lý bên phần server phục vụ cho việc tiếp nhận nhiều client Tài liệu tham khảo [1] [2] [3] [4] Django Team, “Models and databases” https://docs.djangoproject.com/en/3.2/topics/db/ Flutter Team, “Flutter Tutorials” https://flutter.dev/docs/reference/tutorials Brian Kayfitz, “Getting Started with the Bloc Pattern” https://www.raywenderlich.com/4074597-getting-started-with-the-bloc-pa ttern Dinesh “Django basic for beginner” https://medium.com/@humble_bee/django-basics-for-a-beginner-5d864e6 aa084 [5] Anmol Gupta, “REST api in Flutter” https://medium.com/flutterdevs/using-rest-api-in-flutter-d19e6eb972b8 ... tài ? ?mạng xã hội hẹn hị” với mục đích tạo nơi giao lưu kết bạn cho người cô đơn đơn giản giảm thời gian trình làm quen người bạn 2.2 Khảo sát trạng Hiện có ứng dụng mạng xã hội mạng xã hội hẹn. .. giải Nhóm đề xuất xây dựng ứng dụng mạng xã hội hẹn hị để hỗ trợ thúc đẩy trình làm quen người Mạng xã hội tập trung chủ yếu trình kết bạn hẹn hị Mạng xã hội phải có tính tương tác like chat... dùng Product Requirement Document 2.1 Objective Vision Mạng xã hội hẹn hò chiếm phần lớn thị trường Đông Nam Á Hỗ trợ người sử dụng mạng xã hội xã giao nhanh sớm Mang lại trải nghiệm mẻ thú vị cho