Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 110 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
110
Dung lượng
9,97 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP 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 - SE121.L21 ĐỀ TÀI SỐ 50 ỨNG DỤNG THEO DÕI THÓI QUEN NGƯỜI DÙNG KẾT HỢP HOẠT ĐỘNG CHẠY BỘ ĐA NỀN TẢNG Cross-platform habit tracking integrated with running tracking application Giảng viên hướng dẫn: ThS Nguyễn Thị Thanh Trúc Nhóm sinh viên thực đề tài: Lê Hoàng Minh Sơn 18520350 Phạm Liên Sanh 18520146 TP Hồ Chí Minh, tháng 06 năm 2021 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng NHẬN XÉT CỦA GIẢNG VIÊN Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng LỜI CẢM ƠN Nhóm chúng em trân trọng gửi lời cảm ơn đến cô Nguyễn Thị Thanh Trúc tạo điều kiện cho chúng em có hội thực đồ án Với kiến thức cô gợi ý phân tích q trình làm đồ án, nhóm vận dụng nhiều việc hồn thành đề tài Trong vòng 15 tuần, nhờ dẫn nhiệt tình cơ, chúng em tiếp thu kiến thức quan trọng góp ý chân thành để hồn thành báo cáo làm chương trình hồn chỉnh Cũng xin cảm ơn thầy cô bạn bè khoa Công nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện cho nhóm em làm báo cáo Mặc dù cố gắng hoàn thành báo cáo với tất nỗ lực song kết nhóm chúng em chắn khơng tránh khỏi thiếu sót, chúng em mong nhận thơng cảm góp ý chân thành từ thầy Nhóm em xin chân thành cảm ơn Thành phố Hồ Chí Minh, ngày 15 tháng 06 năm 2021 Đồ án - SE121.L21 Nhóm gồm Lê Hoàng Minh Sơn, Phạm Liên Sanh Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng MỤC LỤC NHẬN XÉT CỦA GIẢNG VIÊN LỜI CẢM ƠN MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT CHƯƠNG - TỔNG QUAN 1.1 Giới thiệu đề tài 1.2 Mục tiêu phạm vi đề tài 1.3 Khảo sát đánh giá ứng dụng có 1.3.1 Nhóm ứng dụng theo dõi thói quen (Habit tracker) 1.3.1.1 Fabulous 1.2.1.2 Habitica 1.2.1.3 Habitify 1.2.1.4 Productive 1.2.1.5 Coach.me 1.3.2 Nhóm ứng dụng đo lường chạy (Running tracker) 1.3.2.1 Strava 1.3.2.2 Google Fit 1.3.2.3 Runkeeper 1.4 Các chức 7 9 10 12 13 14 15 15 16 17 18 CHƯƠNG - CƠ SỞ LÝ THUYẾT 2.1 Về mặt kỹ thuật 2.1.1 React Native (Cơng nghệ phía Frontend) 2.1.2 NodeJS (Cơng nghệ phía Backend) 2.1.3 MongoDB (Cơng nghệ phía Database) 2.1.4 Thư viện React-native-maps expo location (xử lý đường đi, map) 2.1.5 Thư viện expo-pedometer (xử lý đếm bước chạy) 2.1.6 Recommendation system (hệ thống khuyến nghị) 2.1.7 FCM Notifications 2.2 Về mặt sở khoa học phía tính 2.2.1 Phân tích hành vi thực thói quen 2.2.2 Phân tích sở hoạt động chạy 19 19 19 21 23 24 26 27 29 30 30 32 CHƯƠNG - PHÂN TÍCH HỆ THỐNG 3.1 Sơ đồ Use case tổng quát 3.2 Danh sách Use case: 35 35 36 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 3.3 Đặc tả Use Case 3.3.1 Module Auth 3.3.1.1 Use case UC01 - Sign in: 3.3.1.2 Use case UC02 - Sign up: 3.3.1.3 Use case UC03 - Forget password: 3.3.2 Module Habit tracker 3.3.2.1 Use case UC04 - Add Habit: 3.3.2.2 Use case UC05 - Edit habit: 3.3.2.3 Use case UC06 - Delete habit: 3.3.2.4 Use case UC07 - Get habits by days 3.3.2.5 Use case UC08 - Get recommended habits by themes 3.3.2.6 Use case UC09 - Schedule 3.3.2.7 Use case UC10 - Get notifications for habits 3.3.2.8 Use case UC11 - Check progress for habits 3.3.2.9 Use case UC12 - Filter habit by status 3.3.2.10 Use case UC13 - Create event 3.3.3 Module Running tracker 3.3.3.1 Use case UC14 - Get Map 3.3.3.2 Use case UC15 - Setup running plan 3.3.3.3 Use case UC16 - Connect Habit 3.3.3.4 Use case UC17 - Set Timer & Distance 3.3.3.5 Use case UC18 - Run 3.3.3.6 Use case UC19 - Get run path 3.3.3.7 Use case UC20 - Get running results 3.3.2.8 Use case UC21 - Stop run 3.3.4 Module Community 3.3.4.1 Use case UC22 - Share items 3.3.4.2 Use case UC23 - Reach other’s profile 3.3.4.4 Use case UC24 - Get events 3.3.4.5 Use case UC25 - See event details 3.3.4.6 Use case UC26 - Join events 3.3.4.7 Use case UC27 - See ranking 3.3.5 Module Statistics and Profile 3.3.5.1 Use case UC28 - Get statistic my personal Habits 3.3.5.2 Use case UC29 - Get statistics compared with others for events 3.3.5.3 Use case UC30 - Get overall history 3.3.5.4 Use case UC31 - Get statistic for Pedometer 3.3.5.5 Use case UC32 - Get statistic for Running 3.3.5.6 Use case UC33 - Update profile 3.4 Mơ hình hóa u cầu: 3.4.1 Module Auth 39 39 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 77 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 3.4.2 Module Habit tracker 3.4.3 Module Running tracker 3.4.4 Module Community 3.4.5 Module Statistics and Profile 78 79 80 81 CHƯƠNG – THIẾT KẾ VÀ PHÁT TRIỂN HỆ THỐNG 4.1 Kiến trúc hệ thống: 4.2 Thiết kế liệu: 4.2.1 Sơ đồ CSDL tổng quát: 4.2.2 Danh sách bảng liệu sơ đồ 4.3 Sơ đồ lớp 4.4 Thiết kế giao diện 4.4.1 Sơ đồ liên kết hình 4.4.2 Danh sách hình 4.4.3 Mơ tả hình 4.4.3.1 Nhóm hình Habit tracker 4.4.3.2 Nhóm hình Running tracker 4.4.3.3 Nhóm hình Community 4.4.3.4 Nhóm hình Statistics 4.4.3.5 Nhóm hình Khác: 82 82 84 84 85 86 87 87 88 89 89 90 91 92 93 CHƯƠNG - CÀI ĐẶT VÀ THỬ NGHIỆM 5.1 Môi trường cài đặt: 5.2 Danh sách lớp, đối tượng 5.2.1 Các lớp điều hướng 5.2.2 Các nhóm thư viện khác 5.2 Kiểm thử: 5.3 Các phương tiện, công cụ hỗ trợ 94 94 95 95 95 97 98 CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Các kết đạt 6.2 Những ưu điểm hạn chế 6.2.1 Ưu điểm 6.2.2 Hạn chế 6.3 Hướng phát triển 99 99 100 100 101 102 TÀI LIỆU THAM KHẢO 103 BẢNG PHÂN CÔNG CÔNG VIỆC 106 Đánh giá tiến độ thực đề tài (bảng tóm tắt q trình giai đoạn thực cột thời gian hoạt động) 106 Bảng phân cơng nhiệm vụ 108 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT [1] CSDL: sở liệu [2] MERN: tập hợp công nghệ MongoDB, Express, ReactJS, NodeJS [3] SĐ: sơ đồ [4] UI (User Interface): giao diện người dùng [5] UX (User Experience): trải nghiệm người dùng Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng CHƯƠNG - TỔNG QUAN 1.1 Giới thiệu đề tài Với nhịp độ phát triển nhanh chóng xã hội ngày người cần phải khơng ngừng phát triển thân nhiều khía cạnh sống, rèn luyện thói quen tích cực thay đổi thói quen tiêu cực, với hỗ trợ công nghệ Nhiều ứng dụng đời giúp quản lý, theo dõi điều Tuy nhiên, lĩnh vực có nhiều điểm khai thác phát triển thêm nên nhóm em định chọn đối tượng để nghiên cứu thực loại hình ứng dụng xây dựng, theo dõi thói quen, kết hợp hoạt động chạy - thói quen đánh giá mang lại nhiều lợi ích cho sức khỏe, cụ thể mang tên SuperSelf, sử dụng nhiều tảng di động khác Sản phẩm kế thừa điểm mạnh ứng dụng trước, đồng thời kết hợp thêm số tính phù hợp nhằm hướng tới việc phát triển tối đa thân người dùng Không ứng dụng quản lý thói quen thơng thường, SuperSelf đem tới cho người dùng cảm giác thú vị, mẻ tham gia vào giới riêng thực thử thách, tích lũy điểm số, tham gia kiện để xây dựng trang cá nhân Ứng dụng có hệ thống phân loại chủ đề liên quan đến nhiều thói quen để phát triển thân (sự kết nối người, mối quan hệ, tạo động lực, sức khỏe, quản lý chi tiêu, hoạch định mục tiêu, kiến thức, sức mạnh nội tâm…), chia sẻ mục tiêu theo đuổi thành tích đạt được, đồng thời người dùng theo dõi cập nhật tiến độ cách dễ dàng qua hỗ trợ tiện ích Ngồi ra, ứng dụng gợi ý cho người dùng thói quen phù hợp dựa theo nhu cầu, xu hướng q trình rèn luyện thói quen người dùng Đối với hoạt động chạy bộ/đi bộ, ứng dụng đo lường số bước ngày cá nhân người dùng, đồng thời cho phép người dùng kích hoạt việc đo khoảng cách số bước chạy khoảng thời gian định, đưa số thu thập được, so sánh trình luyện tập Tất số liệu thống kê biểu diễn trực quan dạng biểu đồ, lịch trình sinh động Có nhiều hướng phát triển lâu dài tổ chức kiện để người dùng tham gia vào nhằm rèn luyện lối sống tích cực cộng đồng Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 1.2 Mục tiêu phạm vi đề tài ● Mục đích thực hóa kiến thức học trình triển khai đồ án Đó xây dựng chương trình hồn thiện mặt UI UX xử lí liệu, phục vụ cho phạm vi đối tượng người dùng rộng rãi (người muốn theo dõi thói quen thân, người thích chạy thể dục) ● Ứng dụng kiến thức lý thuyết thực hành vào quy trình phát triển phần mềm đa tảng, hoàn thiện phần mềm cách tốt ● Ý nghĩa thực tiễn tạo sản phẩm giải vấn đề sống phục vụ cho nhu cầu thiết yếu cá nhân nhóm cộng đồng, tạo phần mềm dễ sử dụng có kết tốt để xây dựng thói quen tích cực, hạn chế thói quen tiêu cực phát triển thân, nâng cao thể chất thông qua hoạt động chạy ● Đối tượng nghiên cứu: - Quy trình phát triển phần mềm di động mang tính thương mại - Cơng nghệ: + React Native (cross-platform) + NodeJS + MongoDB + Các thư viện xử lý đồ + Các thư viện xử lý đo bước chân + Hệ thống khuyến nghị + Các thư viện xử lí tính thơng báo - Cơ sở khoa học: + Hành vi thực thói quen + Hoạt động chạy ● Kết dự tính đạt hoàn thành báo cáo gồm sở lý thuyết tìm hiểu được, q trình phân tích đặc tả, thiết kế hệ thống, cài đặt kiểm thử, qua xây dựng ứng dụng hồn chỉnh đáp ứng tất mục tiêu Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 1.3 Khảo sát đánh giá ứng dụng có 1.3.1 Nhóm ứng dụng theo dõi thói quen (Habit tracker) 1.3.1.1 Fabulous Fabulous ứng dụng nghiên cứu khoa học Phòng Thí Nghiệm Hành Vi trường Đại Học Duke, dẫn dắt tiến sĩ tâm lý học kinh tế học hành vi Dan Ariely (tác giả sách kinh điển Phi Lý Trí hay Lẽ Phải Của Phi Lý Trí) (nguồn theo tìm hiểu) Fabulous vừa giải thích lợi ích thói quen, vừa hướng dẫn q trình hình thành thói quen hợp lý Fabulous thiết kế người bạn đồng hành đường tạo lập thói quen Khi vào app, Fabulous hỏi câu hỏi liên quan đến mục tiêu vấn đề sống, sau thiết kế thói quen để giúp đạt mục đích Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 5.2 Danh sách lớp, đối tượng 5.2.1 Các lớp điều hướng STT Tên Diễn giải Main Thành phần ngồi bắt đầu mở chương trình AppStackNavigator Thành phần stack sau main AuthStackNavigator Thành phần chứa screen Đăng nhập, Đăng kí DrawerNavigator Thành phần sau đăng nhập, chứa TabNavigator screen About TabNavigator Thành phần điều hướng app, chưa screen là: Home, Challenge, World, Profile StackNavigator Thành phần chứa toàn stack screen app 5.2.2 Các nhóm thư viện khác STT Tên Diễn giải Frontend react-native-maps Truy cập đồ google, vẽ đường di chuyển expo-location Xử lí địa theo vị trí địa lý, lấy vị trí người expo-sensor Truy cập cách tính cảm biến điện thoại expo-notifications Cài đặt notification theo thời điểm moment Giúp ta việc giải vấn đề ngày tháng 95 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng react-native-calendar Sử dụng calendar mẫu, nhiều tính React-native- Cho phép ta sử dụng component đếm số có sẵn cho countdown-component chạy react-navigation Xử lí điều hướng hình nativebase Cung cấp UI custom 10 axios HTTP Client 11 victory-native Xử lí vẽ biểu đồ linh hoạt 12 SocketIO realtime 13 redux State management UI 14 Styled components Tạo component CSS Backend 15 Mongoose ODM 16 SocketIO realtime 17 moment Xử lí ngày tháng nhanh 18 JWT Xử lí authentication 19 Cloudinary Lưu trữ liệu upload từ client 96 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 5.2 Kiểm thử: Nhóm có tiến hành kiểm thử phần mềm sau lần build chức năng, tăng tính đắn tốc độ sửa lỗi chương trình Ứng dụng chạy thử nghiệm thiết bị thuộc nhiều hệ điều hành (Android, iOS) emulator Phần lớn thiết bị tương thích, nhiên có số tính hỗ trợ Android, cần phải eject để thực iOS Môi trường thử Phiên Kết Ghi nghiệm Android emulator 8.1 (Pixel 2XL) Tương thích đa số, Không bị lỗi riêng chức thông báo, GPS, sensor khơng tương thích Redmi Note 10 Pro Android 11 Tương thích cao Khơng bị lỗi, map u cầu Google map iPhone 11 iOS 13 Tương thích Map yêu cầu Apple map iPhone 6S Plus iOS 10.x Tương thích Map yêu cầu Apple map → Ứng dụng phát triển theo hướng đa tảng, đáp ứng yêu cầu đề tài Nhóm dự tính cài đặt trang web để giới thiệu sản phẩm, thể kiện với bảng xếp hạng, đồng thời có trang dành cho admin quản lí hệ thống 97 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 5.3 Các phương tiện, cơng cụ hỗ trợ Khía cạnh Chức Giao tiếp Facebook, Microsoft Teams, Zalo Quản lý dự án Google Sheet, Trello Quản lý mã nguồn Git Lưu trữ Google Drive Thiết kế UML Lucid chart Design prototype Powerpoint, Figma Nguồn ảnh Pinterest, Unsplash, Freepik 98 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Các kết đạt Với yêu cầu đặt cho đề tài “Ứng dụng theo dõi thói quen kết hợp hoạt động chạy đa tảng” Đồ án 1, chúng em tiến hành khảo sát, tìm hiểu sở lý thuyết, phân tích, thiết kế cuối cài đặt kiểm thử thành công phần mềm Kết hợp với việc nghiên cứu sáng tạo chức năng, nhóm triển khai để hồn thành báo cáo Nhóm tự đánh giá đề tài cho môn học thành công, với việc khơng đạt mục tiêu đặt mà cịn thực sản phẩm có nhiều chức Đúng với mục tiêu đặt ban đầu, nhóm đã: ● Ứng dụng kiến thức lý thuyết thực hành vào quy trình phát triển phần mềm thực tiễn, từ xây dựng tư lĩnh vực Công nghệ phần mềm môi trường làm việc nhóm ● Giải tất vấn đề đặt phần mơ tả tốn, hồn thiện sản phẩm đề tài phần mềm đa tảng, đa thiết bị cách tốt ● Xây dựng chương trình hồn thiện chức năng, mặt UI UX, đáp ứng nhu cầu thực tế để giải vấn đề; giao diện trực quan, đẹp mắt, thân thiện đáp ứng tính đắn tính tiến hóa việc thiết kế liệu Ngồi ra, từ q trình làm sản phẩm, nhóm có hội tìm hiểu rõ vận dụng kiến thức học môn học trước, đồng thời nắm quy trình phát triển phần mềm phục vụ môn học tới mà cịn hành trình làm việc lĩnh vực công nghệ thông tin tương lai 99 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 6.2 Những ưu điểm hạn chế 6.2.1 Ưu điểm ❖ Về mặt sản phẩm: ● Đây hệ thống có quy mô đầy đủ, phần mềm dành cho đa dạng đối tượng người dùng, xây dựng cộng đồng ● Hệ thống xử lý thể liệu biểu đồ sinh động ● Hệ thống kiện tạo kết nối người dùng với ● Hệ thống chạy tích hợp hệ thống thói quen hệ thống community ● Hệ thống chủ đề đa dạng, rõ ràng giúp người dùng theo dõi thân hiệu ● Có tìm hiểu ứng dụng hệ thống khuyến nghị vào gợi ý thói quen → Kết hợp ưu điểm từ nhiều sản phẩm trước ❖ Về mặt làm việc: ● Rèn luyện tác phong lập trình nhóm có tính kỉ luật, theo quy trình cụ thể ● Các thành viên có tinh thần làm việc trách nhiệm, thực đầy đủ nhiệm vụ ● Có kế hoạch rõ ràng từ đầu mặt nội dung hình thức: sơ đồ mơ hình hóa mơ hình quan hệ Phân chia công việc theo chức cụ thể → tạo móng vững cho chương trình ● Học hỏi nhiều công nghệ mới, phục vụ việc làm ● Tính sáng tạo lúc thành viên ● Quản lý nhóm project hiệu thơng thông qua dịch vụ: Github, Google Drive, Facebook, Gmail, Microsoft Teams, Notion, 100 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 6.2.2 Hạn chế Tuy nhiên dự án gặp phải bất lợi định: ❖ Về mặt phần mềm: ● Chưa áp dụng kĩ thuật deployment tối ưu (do tốn chi phí, sử dụng hàng miễn phí) ● Cơ sở liệu bị giới hạn dung lượng số lần truy vấn miễn phí → người dùng bị giới hạn liệu ● Không sử dụng Google map API vấn đề lãnh thổ sách nhà phát triển ● Việc kiểm thử Android emulator hạn chế ● Chưa kết nối để lấy người dùng từ thiết bị thông minh Apple watch Google fit, Apple Health ● Chưa hoàn toàn phân cấp người dùng (Basic, Premium, Admin) ❖ Về mặt làm việc: ● Ban đầu thời gian làm việc thành viên xung đột với nhau, học online nhà khó gặp mặt trao đổi trực tiếp → làm việc thông qua phương tiện tính tự chủ thành viên ● Có lúc xuất bất đồng quan điểm thành viên → nhóm trưởng đưa định cuối sau có cân nhắc ● Project đánh giá khó từ đầu kết hợp phải xử lý đồ, thao tác với vị trí, đơn vị đo lường khác mặt chạy người dùng, đồng thời liệu phức tạp rộng lớn, thực tế → Thực với quy mơ lớn, tiến hành research khía cạnh, tìm hướng (vận dụng framework việc tối ưu thời gian thực hiện) 101 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 6.3 Hướng phát triển Đồ án tiếp tục phát triển sau báo cáo theo kế hoạch nhóm đặt Nhiều feature khác thêm vào để ngày hồn thiện: ● Mở rộng quy mơ phần mềm ● Khắc phục số hạn chế mơ hình phần mềm ● Tiếp tục nâng cao chất lượng UI UX ● Tối ưu nhớ thời gian thực chức ● Có chức nhắn tin người dùng ● Phát triển hướng mạng xã hội ● Có hệ thống kết bạn dựa theo sở thích ● Hệ thống reward tối ưu đa dạng ● Xây dựng tích hợp tảng web ● Báo cáo vi phạm ● Sự kiện tổ chức theo vị trí địa lý ● … mục tiêu khác Nói chung nhóm đặt hướng nghiên cứu để mở rộng đề tài sau: ● Xây dựng hoàn chỉnh recommendation system ● Kết hợp AI xử lí hành vi, tính tốn đưa đánh giá ● Kết hợp data analytics phân tích số liệu để tối ưu trải nghiệm người dùng ● Xử lí sâu thuật tốn tối ưu liên kết môi trường mạng ● Kết hợp vào thiết bị tự động đo lường khác để lấy liệu So với mục đích hồn thành đồ án mơn học, nhóm ứng dụng đề tài việc phân tích yêu cầu lĩnh vực gần với sống cụ thể quản lí thói quen phát triển thân, từ góp phần nâng cao tư làm việc hiệu thực tế sống Phần mềm hồn tồn sử dụng để phát triển thành mạng xã hội kết nối phát triển thân 102 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng TÀI LIỆU THAM KHẢO ● Tìm hiểu phía Frontend [1] React Documents, https://reactjs.org/docs/getting-started.html [2] React Native Documents, https://reactnative.dev/docs/getting-started [3] Expo Documentation, https://docs.expo.io/guides/ [4] DesignIntoCode channel, https://www.youtube.com/channel/UCPZlE8KsMkumnjEMOcJDxuQ [5] React Native Animation Tutorials, https://www.youtube.com/playlist?list=PLYxzS 5yYQmdfEyKDrlG5E0F0u7_iIUo [6] Nativebase Documents, https://docs.nativebase.io/ [7] React Navigation Documents, https://reactnavigation.org/docs/getting-started [8] React Native Maps, https://github.com/react-native-maps/react-native-maps [9] Expo Location, https://docs.expo.io/versions/latest/sdk/location/ [10] Expo AV, https://docs.expo.io/versions/latest/sdk/av/ [11] Expo notifications, https://docs.expo.io/versions/latest/sdk/notifications/ [12] Victory Native Charts, https://formidable.com/open-source/victory/docs/native [13] React Native Countdown Timer, https://www.npmjs.com/package/react-native-countdown-circle-timer ● Tìm hiểu phía Backend [1] NodeJS Document, https://nodejs.org/dist/latest-v16.x/docs/api/ [2] Express Document, https://expressjs.com/en/guide/routing.html [3] MongoDB Document, https://socket.io/docs/v4/ 103 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng [4] Moment js Documentation, https://momentjs.com/guides/ [5] Mongoose Documents, https://mongoosejs.com/docs/guide.html ● Tìm hiểu phía người dùng: [1] The Power of Habit: Why We Do What We Do in Life and Business: Charles Duhigg (2012), NXB Random House [2] Atomic Habits: James Clear (2018), NXB Cornerstone, New York Times Best Seller [3] The Habits of Highly Effective People: Stephen Covey (1989), NXB Free Press [4] Tiny Habits: The Small Changes that change everything: BJ Fogg (2019), Houghton Mifflin Harcourt [5] Thuật ngữ chạy bộ, dựa theo ứng dụng iRace Strava [6] Run for Good: How to Create a Lifelong Running Habit: Christine Many Luff (2018) [7] Endure: Mind, Body, and the Curiously Elastic Limits of Human Performance: Alex Hutchinson ● Chức thông báo [1] Android Developers, https://developer.android.com/training/notify-user/build-notification [2] App Push Notifications – The Complete Guide: James Ewen (2017), https://www.tamoco.com/blog/app-push-notifications-complete-guide/ [3] Apple Developers, https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/R emoteNotificationsPG/SchedulingandHandlingLocalNotifications.html [4] React native push notifications, https://github.com/zo0r/react-native-push-notification 104 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng ● Các ý tưởng ứng dụng [1] Facebook, https://www.facebook.com/ [2] Intellect, https://www.intellect.co/ [3] Fabulous, https://www.thefabulous.co/ [4] Habitify, https://www.habitify.me/ [5] Habitica, https://habitica.com/static/home [6] Strava, https://www.strava.com/ ● Thư viện resource hình ảnh, âm thanh,… [1] Unsplash, https://unsplash.com/ [2] expo vector icon, https://icons.expo.fyi/ [3] Draw Kit, https://www.drawkit.io/ [4] Pinterest, https://www.pinterest.com/ 105 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng BẢNG PHÂN CÔNG CÔNG VIỆC Đánh giá tiến độ thực đề tài (bảng tóm tắt q trình giai đoạn thực cột thời gian hoạt động) Thời gian Từ 21/3/2021 Hoạt động ngày - Tìm hiểu, chọn đề tài, xác định quy trình phát triển ứng dụng di động thương mại - Khảo sát, liệt kê chức năng, đặt mục tiêu, tạo kế hoạch ban đầu cách thức hoạt động nhóm - Xác định yêu cầu, lập kế hoạch - Khảo sát ứng dụng phổ biến: + Nhóm theo dõi thói quen (habit tracker): Fabulous, Habitìy, Habitica, + Nhóm theo dõi chạy (running tracker): Google Fit, Uprace, Strava - Liệt kê cơng nghệ tìm hiểu: + Nền tảng: multiplatform (Android, iOS) + Thiết kế UI: React Native, Flutter + Backend + DB: Firebase, NodeJS + MongoDB Từ 12/4/2021 ngày Phân tích, mơ hình hóa yêu cầu phần mềm, thiết kế CSDL ban đầu, tạo giao diện nhanh - Đặc tả yêu cầu (SRS) - Tìm hiểu API, thư viện tính tốn chạy (có đồ): react-native-google-fit, expo-pedometer, react-native-steps-counter - Modeling (use case)" - Tìm hiểu API google map - Tạo prototype running tracker 106 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng - Modeling (state, sequence) - Tìm hiểu setup Notifications - Tạo prototype habit tracker Từ 03/5/2021 ngày - Chỉnh sửa hồn thiện CSDL, phân cơng thực chức cụ thể với giao diện tương ứng - Xây dựng sườn báo cáo đồ án - Tìm resource nội dung - Đọc sách + article self development để hiểu người dùng, phân tích tâm lí hành vi sử dụng - Bắt đầu xây dựng framework code - Thiết kế hệ thống - Thiết kế database - Thiết kế UI - Tìm hiểu AI Data analysis (cân nhắc) Từ 01/06/2021 ngày - Tập trung cài đặt xử lí kĩ ràng buộc, luồng chạy chi tiết chức - Chỉnh sửa giao diện tổng thể - Tìm hiểu cài đặt Recommendation System (tính điểm phổ biến) - Tiếp tục cài đặt chương trình - Tinh chỉnh, kiểm thử hoàn thiện phần mềm báo cáo 107 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng Bảng phân cơng nhiệm vụ Ngay từ lúc đầu nhóm xác định cơng việc thành viên tham gia làm, phân nắm yêu cầu để tiện việc trao đổi chịu trách nhiệm công việc giao Vì thế, q trình hoạt động nhóm diễn tốt Các thành viên không làm riêng công việc mà cịn hỗ trợ người khác việc tìm lỗi, sửa lỗi trực tiếp tham gia vào cơng việc nên hiểu bạn làm gì, điều giúp cho chức gắn kết với mà không bị lỗi lỗi sửa nhanh Hơn nữa, điều giúp cho tất biết cách xử lí sở liệu biết cách thiết kế giao diện, thuận lợi cho học hỏi Việc làm báo cáo thế, hai thành viên tham gia làm báo cáo nên hiểu rõ nội dung làm Đây bảng phân chia công việc dựa nhiệm vụ người nắm chính: STT Họ tên – MSSV Cơng việc giao Mức độ hồn thành (%) Lê Hoàng Minh Sơn - Đặc tả Use case 18520350 - Cùng phân tích đề tài, vẽ sơ đồ UML - Nắm phần Habit tracker - Tìm hiểu recommendation system - Nắm phần Event - Cùng nắm phần Profile - Tạo framework code - Cùng nắm phần UI tổng thể 100% backend - Cùng thực báo cáo 108 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng Phạm 18520146 Liên Sanh - Đặc tả Use case - Cùng phân tích đề tài, vẽ sơ đồ UML - Nắm phần Running tracker - Tìm hiểu thư viện xử lý đồ, đường - Nắm phần Statistics (biểu đồ) - Nắm phần âm thanh, thông báo - Cùng nắm phần Profile - Cùng nắm phần UI tổng thể 100% backend - Cùng thực báo cáo 109 ... 42 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 3.3.2 Module Habit tracker Sơ đồ Use-case Habit tracker 43 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết. .. có ứng dụng Tuy nhiên để thực hiểu chất ứng dụng thói quen, cần phân tích rõ hai yếu tố này: 30 Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng Ứng dụng thói quen. .. hồn chỉnh đáp ứng tất mục tiêu Đồ án 50: Ứng dụng theo dõi thói quen người dùng kết hợp hoạt động chạy đa tảng 1.3 Khảo sát đánh giá ứng dụng có 1.3.1 Nhóm ứng dụng theo dõi thói quen (Habit tracker)