Phương pháp thực hiện • Khảo sát và nắm bắt các yêu cầu người dùng • Chuẩn bị kiến thức chuyên sâu về lĩnh vực dưỡng da • Phân tích, thiết kế, lựa chọn công nghệ, xây dựng và kiểm thử ứn
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 3THÔNG TIN HỘI ĐỒNG CHẤM KHÓA LUẬN TỐT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
……… ngày ……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin
1 ……… – Chủ tịch
2 ……….…… – Thư ký
3 ……….… – Ủy viên
4 ……… – Ủy viên
Trang 4ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Đánh giá Khóa luận
1 Về cuốn báo cáo:
Số trang 120 Số chương 4
Số bảng số liệu 27 _ Số hình vẽ 51 _
Số tài liệu tham khảo 10 _ Sản phẩm 1
Một số nhận xét về hình thức cuốn báo cáo:
Trang 5………
………
3 Về chương trình ứng dụng: ………
………
………
………
4 Về thái độ làm việc của sinh viên: ………
………
Đánh giá chung:Khóa luận đạt/không đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình Điểm từng sinh viên: Lê Bá Vương: ……… /10
Hà Thị Anh: ……… /10
Trang 6NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
Đánh giá Khóa luận
5 Về cuốn báo cáo:
Số trang 120 Số chương 4
Số bảng số liệu 27 _ Số hình vẽ 51 _
Số tài liệu tham khảo 10 _ Sản phẩm 1
Một số nhận xét về hình thức cuốn báo cáo:
………
………
………
6 Về nội dung nghiên cứu:
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập - Tự Do - Hạnh Phúc
TP.HCM, ngày……tháng… năm……
Trang 7………
………
………
………
7 Về chương trình ứng dụng: ………
………
………
………
8 Về thái độ làm việc của sinh viên: ………
………
Đánh giá chung:Khóa luận đạt/không đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình Điểm từng sinh viên: Lê Bá Vương: ……… /10
Hà Thị Anh: ……… /10
Người nhận xét
(Ký tên và ghi rõ họ tên)
Trang 8Chúng em xin gửi lời cảm ơn chân thành và sâu sắc đến thầy Lê Thanh Trọng, người đã đồng hành cùng chúng em suốt quá trình thực hiện khóa luận Nhờ sự tận tình giúp đỡ của thầy chúng em đã định hướng được cách tư duy và cách làm việc khoa học Đó là những góp ý hết sức quý báu không chỉ trong quá trình thực hiện khóa luận mà còn là hành trang tiếp bước cho chúng em trên con đường học tập và lập nghiệp sau này
Xin cảm ơn các thầy cô trong hội đồng với những lời góp ý chân thành và bổ ích giúp bài luận văn của chúng em được tốt hơn
Cuối cùng, xin cảm ơn gia đình, người thân, bạn bè đã luôn bên cạnh, ủng hộ, động viên tinh thần trong suốt quá trình thực hiện khóa luận
Trang 9ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG HỖ TRỢ CHĂM SÓC DA
Cán bộ hướng dẫn: ThS Lê Thanh Trọng
Thời gian thực hiện:Từ ngày 01/03/2021 đến ngày 26/06/2021
Sinh viên thực hiện:
Lê Bá Vương – 17521277
Hà Thị Anh – 17520230
Nội dung đề tài:
Mục tiêu:
Xây dựng ứng dụng với các tính năng hỗ trợ người dùng trong quá trình chăm sóc
da, tạo môi trường chia sẻ và học hỏi kinh nghiệm từ các chuyên gia và người dùng khác Tập trung vào các chức năng chính:
• Kiểm tra và phân tích da: Làm bài kiểm tra da với hệ thống câu hỏi trắc nghiệm phân loại da của Tiến sĩ Leslie Baumann và nhận được kết quả loại da sau khi
hệ thống phân tích Nhận các sản phẩm gợi ý phù hợp
• Xây dựng quy trình dưỡng da cá nhân: Thêm, chỉnh sửa các bước dưỡng da trong quy trình
• Nhật ký dưỡng da: Cập nhật và lưu lại trạng thái da hằng ngày
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập - Tự Do - Hạnh Phúc
Trang 10• Lên lịch trình dưỡng da: Dễ dàng hẹn ngày giờ cụ thể để hệ thống nhắc nhở kế hoạch dưỡng da dự định
• Học hỏi và chia sẻ kinh nghiệm dưỡng da: Đăng bài, thảo luận, theo dõi người dùng khác
• Trò chuyện: Nhắn tin, chia sẻ cũng như nhận tư vấn hỗ trợ trực tiếp từ những người dùng khác
• Đặt lịch tư vấn với chuyên gia: Nhận tư vấn trực tiếp với chuyên gia thông qua các buổi tư vấn online đã lên lịch thành công
• Nhận xét/Đánh giá: Để lại bình luận đánh giá khách quan về các bài viết, bài chia sẻ, các sản phẩm hoặc các chuyên gia
Bên cạnh đó, đề tài cũng tạo ra cơ hội để nghiên cứu, học hỏi để nâng cao chuyên môn trong lĩnh vực phát triển phần mềm, nắm bắt các công nghệ mới và xu hướng phát triển ứng dụng trên thị trường
• Đề tài sẽ tập trung giải quyết các vấn đề còn tồn đọng và phát sinh trong việc chăm sóc da hằng ngày như:
- Thiếu kiến thức làm đẹp
- Chưa có quy trình dưỡng da chuyên biệt
- Chưa có nơi giao lưu, đặt câu hỏi
Trang 11- Không thể gặp gỡ các chuyên gia da liễu có chuyên môn, đặc biệt trong dịp
Covid-19 bùng phát như hiện nay
- Chưa có kênh thông tin riêng biệt để chia sẻ các bí quyết làm đẹp
- Muốn lưu lại các kỷ niệm trong quá trình chăm sóc da gian nan
Đối tượng sử dụng:
• Những người có nhu cầu chăm sóc da
• Những người đang gặp vấn đề về da hay chưa biết cách chăm sóc da như thế
nào cho đúng
• Người có nhu cầu chia sẻ kinh nghiệm dưỡng da, các sản phẩm dưỡng da
• Các chuyên gia da liễu
Phương pháp thực hiện
• Khảo sát và nắm bắt các yêu cầu người dùng
• Chuẩn bị kiến thức chuyên sâu về lĩnh vực dưỡng da
• Phân tích, thiết kế, lựa chọn công nghệ, xây dựng và kiểm thử ứng dụng
Kết quả mong đợi
• Hiểu rõ các framework liên quan (ExpressJs, React-Native…) để ứng dụng và xây dựng hệ thống
• Hoàn thành ứng dụng chạy trên nền tảng Android với đầy đủ các chức năng đề ra
• Ứng dụng có độ hoàn thiện cao, khả năng đưa vào thực tiễn
Kế hoạch thực hiện:
Đề tài được thực hiện trong vòng 14 tuần, thời gian và công việc thực hiện được trình bày như sau:
Giai đoạn Công việc thực hiện
- Xây dựng form khảo sát và triển khai khảo sát online trên các trang mạng xã hội
Trang 1203/2021: Thu thập và phân tích yêu
cầu người dùng
như Facebook
- Thu thập và phân tích kết quả khảo sát
- Khảo sát các ứng dụng tương tự: TroveSkin
- Thu thập các thông tin liên quan trên các trang web có uy tín như: Happy skin, Paula’s Choice, Elle, …
- Phát biểu bài toán
- Xác định các chức năng chính
- Tìm hiểu các công nghệ được sử dụng: React Native, Express, Firebase, SocketIO, …
03/2021- 04/2021: Thiết kế hệ thống
- Thiết kế cơ sở dữ liệu
- Vẽ sơ đồ usecase, đặc tả usecase
- Vẽ sơ đồ tuần tự
- Thiết kế giao diện sơ bộ
- Xây dựng template cho frontend và backend
04/2021: Xây dựng module Chăm sóc da
- Xây dựng các chức năng liên quan như: + Kiểm tra da
+ Tra cứu thông tin da
+ Quy trình dưỡng da
- Kiểm thử chức năng và phi chức năng liên quan đến module
Trang 1305/2021: Xây dựng module Mạng xã hội
- Xây dựng các chức năng trong module mạng xã hội như:
+ Đăng bài + Bảng tin + Tìm kiếm và theo dõi người dùng + Trao đổi và thảo luận bài viết
- Kiểm thử chức năng và phi chức năng liên quan đến module
05/2021-06/2021: Xây dựng module Tư
vấn chăm sóc da
- Xây dựng các chức năng trong Module
Tư vấn chăm sóc da như:
+ Danh sách chuyên da
+ Đặt lịch tư vấn
+ Quản lí danh sách lịch hẹn
+ Nhắn tin, tư vấn
+ Đánh giá chuyên gia
- Kiểm thử chức năng và phi chức năng liên quan đến module
06/2021: Kiểm thử hệ thống và triển khai
- Kiểm thử chức năng và phi chức năng toàn bộ hệ thống
- Triển khai server ứng dụng lên AWS 06/2021: Tổng hợp - Chỉnh sửa hoàn thiện và viết báo cáo
Phân công công việc:
Trang 14Công việc Hà Thị Anh Lê Bá Vương Thu thập, phân tích yêu cầu người
Trang 15Mục lục
TÓM TẮT KHÓA LUẬN 23
Chương 1 TỔNG QUAN ĐỀ TÀI 25
1.1 Giới thiệu đề tài 25
1.2 Lý do chọn đề tài 26
1.3 Mục tiêu 27
1.4 Phạm vi 28
1.5 Phương pháp thực hiện 28
1.6 Ý nghĩa thực tiễn 30
1.7 Kết quả dự kiến 30
1.8 Hiện trạng bài toán 31
1.8.1 Các ứng dụng liên quan 32
1.8.1.1 Ứng dụng TroveSkin 32
1.8.1.2 Think dirty 33
1.8.1.3 CosDNA 35
1.8.2 Đánh giá hiện trạng và hướng giải quyết 35
1.8.2.1 Đánh giá hiện trạng 35
1.8.2.2 Hướng giải quyết 36
Chương 2 KIẾN THỨC NỀN TẢNG 38
3.1 ExpressJs 38
3.2 React-Native 39
3.3 MongoDB 40
3.4 Firebase Cloud Storage 43
Trang 163.5 Firebase Cloud Message (FCM) 45
3.6 Socket.IO 48
Chương 3 PHÂN TÍCH BÀI TOÁN VÀ XÂY DỰNG ỨNG DỤNG 50
3.1 Phân tích yêu cầu hệ thống 50
3.1.1 Phân tích yêu cầu chức năng 50
3.1.1.1 Yêu cầu lưu trữ 50
3.1.1.2 Yêu cầu về tính năng 51
3.1.2 Phân tích yêu cầu phi chức năng 51
3.1.3 Phân tích yêu cầu người dùng 51
3.1.3.1 Mô hình use case toàn hệ thống 51
3.1.3.2 Danh sách Actors 53
3.1.3.3 Danh sách các Use case 53
3.2 Phân tích thiết kế hệ thống 57
3.2.1 Thiết kế xử lý 57
3.2.1.1 Lược đồ tuần tự thao tác đăng ký 57
3.2.1.2 Lược đồ tuần tự thao tác đăng nhập 59
3.2.1.3 Lược đồ tuần tự thao tác Quên mật khẩu 61
3.2.1.4 Lược đồ tuần tự thao tác thay đổi thông tin tài khoản 62
3.2.1.5 Lược đồ tuần tự thao tác làm bài kiểm tra da 64
3.2.1.6 Lược đồ tuần tự thao tác Thêm mới bước dưỡng da vào quy trình dưỡng da 65
3.2.1.7 Lược đồ tuần tự thao tác Thêm mới sản phẩm vào quy trình dưỡng da 66
3.2.1.8 Lược đồ tuần tự thao tác Thêm mới câu chuyện dưỡng da 68
Trang 173.2.1.9 Lược đồ tuần tự thao tác Thêm mới nhật ký da 69
3.2.1.10 Lược đồ tuần tự thao tác Thêm mới lịch trình dưỡng da 71
3.2.1.11 Lược đồ tuần tự thao tác Đăng bài viết mới 72
3.2.1.12 Lược đồ tuần tự thao tác Bình luận bài viết 74
3.2.1.13 Lược đồ tuần tự thao tác Tạo lịch hẹn tư vấn 75
3.2.1.14 Lược đồ tuần tự thao tác Đặt lịch hẹn tư vấn 77
3.2.1.15 Lược đồ tuần tự thao tác Tham gia cuộc hẹn 78
3.2.2 Thiết kế cơ sở dữ liệu 79
3.2.2.1 Lược đồ cơ sở dữ liệu 79
3.2.2.2 Mô tả các bảng dữ liệu 81
3.2.3 Thiết kế kiến trúc hệ thống 105
3.2.3.1 Kiến trúc tổng thể 105
3.2.3.2 Kiến trúc ứng dụng di động 106
3.2.4 Thiết kế giao diện 107
3.2.4.1 Danh sách màn hình 107
3.2.4.2 Giao diện một số màn hình của ứng dụng 110
3.3 Triển khai hệ thống 114
3.3.1 Máy chủ 114
3.3.2 Ứng dụng di động 115
Chương 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 116
4.1 Kết quả đạt được 116
4.2 Thuận lợi và khó khăn 117
4.2.1 Thuận lợi 117
4.2.2 Khó khăn 117
Trang 184.3 Hướng phát triển 117 TÀI LIỆU THAM KHẢO 119
Trang 19Danh mục hình
Hình 1.1 Diễn biến thảo luận về chăm sóc da của người dùng qua mùa dịch 32
Hình 1.2 Logo ứng dụng TroveSkin 33
Hình 1.3 Logo ứng dụng Think Dirty 34
Hình 1.4 Logo CosDNA 35
Hình 2.1 Logo expressJs và nodeJs 38
Hình 2.2 Logo React Native 39
Hình 2.3 Logo MongoDB 41
Hình 2.4 Thiết kế Schema trong mongoDB dưới dạng collection 42
Hình 2.5 Những dịch vụ mà Firebase cung cấp 43
Hình 2.6 Firebase cloud storage 44
Hình 2.7 Đoạn code tích hợp FCS vào expressJs 45
Hình 2.8 Firebase Cloud Messaging 45
Hình 2.9 Kiến trúc FCM 46
Hình 2.10 Nội dung của một tin nhắn thông báo 46
Hình 2.11 Nội dung của một tin nhắn dữ liệu 47
Hình 2.12 Logo Socket.IO 48
Hình 3.1 Sơ đồ usecase tổng quát 52
Hình 3.2 Lược đồ tuần tự thao tác Đăng ký 58
Hình 3.3 Lược đồ tuần tự thao tác đăng nhập 60
Hình 3.4 Lược đồ tuần tự thao tác quên mật khẩu 61
Hình 3.5 Lược đồ tuần tự thao tác thay đổi thông tin cá nhân 63
Hình 3.6 Lược đồ tuần tự thao tác Làm bài kiểm tra da 64
Hình 3.7 Lược đồ tuần tự thao tác Thêm mới bước dưỡng da 65
Hình 3.8 Lược đồ tuần tự thao tác Thêm sản phẩm vào bước dưỡng da 67
Hình 3.9 Lược đồ tuần tự thao tác Thêm mới câu chuyện dưỡng da 68
Hình 3.10 Lược đồ tuần tự thao tác Thêm mới nhật ký dưỡng da 70
Hình 3.11 Lược đồ tuần tự thao tác Thêm mới lịch trình dưỡng da 71
Hình 3.12 Lược đồ tuần tự thao tác Đăng bài viết mới 73
Trang 20Hình 3.13Lược đồ tuần tự thao tác Bình luận bài viết 74
Hình 3.14Lược đồ tuần tự thao tác Tạo lịch hẹn tư vấn 76
Hình 3.15Lược đồ tuần tự đặt lịch tư vấn 77
Hình 3.16Lược đồ tuần tự thao tác tham gia buổi tư vấn 78
Hình 3.17 Lược đồ cơ sở dữ liệu 81
Hình 3.18 Sơ đồ kiến trúc tổng thể hệ thống 105
Hình 3.19 Sơ đồ kiến ứng dụng di động 106
Hình 3.20 Màn hình bài kiểm tra da 110
Hình 3.21 Màn hình Làm kiểm tra da 110
Hình 3.22 Màn hình Trang chủ 110
Hình 3.23 Màn hình Chăm sóc da 110
Hình 3.24 Màn hình Cập nhật mục tiêu da 111
Hình 3.25 Màn hình Quy trình dưỡng da 111
Hình 3.26 Màn hình Sản phẩm của tôi 111
Hình 3.27 Màn hình Chi tiết sản phẩm 111
Hình 3.28 Màn hình Bảng tin 112
Hình 3.29 Màn hình Đăng bài 112
Hình 3.30 Màn hình Thêm chứng chỉ 112
Hình 3.31 Màn hình Tạo cuộc hẹn 112
Hình 3.32 Màn hình Lịch chuyên gia 113
Hình 3.33 Màn hình Đánh giá chuyên gia 113
Hình 3.34 Màn hình Thông tin máy chủ được cài đặt trên server 114
Hình 3.35 Màn hình Quản lý tiến trình server bằng pm2 115
Trang 21Danh mục bảng
Bảng 3.1 Danh sách Actors 53
Bảng 3.2 Danh sách usecase 57
Bảng 3.3 Mô tả bảng dữ liệu Users 84
Bảng 3.4 Mô tả bảng dữ liệu TestTypes 84
Bảng 3.5 Mô tả bảng dữ liệu SkinGoals 85
Bảng 3.6 Mô tả Bảng dữ liệu Categories 85
Bảng 3.7 Mô tả bảng dữ liệu SkinTypes 87
Bảng 3.8 Mô tả bảng dữ liệu Questions 87
Bảng 3.9 Mô tả bảng dữ liệu Questions 88
Bảng 3.10 Mô tả bảng dữ liệu BasicSteps 89
Bảng 3.11 Mô tả bảng dữ liệu Products 91
Bảng 3.12 Mô tả bảng dữ liệu MyProducts 91
Bảng 3.13 Mô tả bảng dữ liệu MySteps 92
Bảng 3.14 Mô tả bảng dữ liệu Favorites 92
Bảng 3.15 Mô tả bảng dữ liệu Stories 93
Bảng 3.16 Mô tả bảng dữ liệu Diaries 94
Bảng 3.17Mô tả bảng dữ liệu Schedules 95
Bảng 3.18 Mô tả bảng dữ liệu Posts 97
Bảng 3.19 Mô tả bảng dữ liệu Likes 97
Bảng 3.20 Mô tả bảng dữ liệu Comments 98
Bảng 3.21 Mô tả bảng dữ liệu Conversations 99
Bảng 3.22 Mô tả bảng dữ liệu ConversationUserMetas 100
Bảng 3.23 Mô tả bảng dữ liệu Messages 101
Bảng 3.24 Mô tả bảng dữ liệu AvailableTimes 101
Bảng 3.25 Mô tả bảng dữ liệu Appointments 104
Bảng 3.26 Mô tả bảng dữ liệu Reviews 104
Bảng 3.27 Danh sách màn hình 109
Trang 22Danh mục từ viết tắt
STT Từ viết tắt Tên đầy đủ Diễn giải
1 API Application Programming
Interface
Giao diện lập trình
2 FCM Firebase Cloud Messaging Dịch vụ miễn phí
của Google cho phép gửi thông báo đến thiết bị di động
Trang 23TÓM TẮT KHÓA LUẬN
Khóa luận với đề tài “Xây dựng ứng dụng hỗ trợ chăm sóc da” tập trung vào nghiên cứu, phân tích thực trạng và ứng dụng các công nghệ mới để từ đó xây dựng thành một ứng dụng di động hoàn chỉnh, chạy trên nền tảng Android Qua đó, đáp ứng nhu cầu chăm sóc da của người dùng
Quá trình thực hiện đề tài áp dụng quy trình phát triển phần mềm, sử dụng mô hình thác nước để phân chia các giai đoạn phát triển Thông qua phương pháp khảo sát thực tế để phân tích thực trạng cũng như yêu cầu người dùng nhóm chúng em đã xác định được mục tiêu, phạm vi, các chức năng cần có của hệ thống Trong giai đoạn thực hiện, kết hợp phát triển Client và Server bằng React Native và Express.js trên ngôn ngữ Javascript, sử dụng MongoDB làm cơ sở dữ liệu Ứng với mỗi giai đoạn hoàn thành nhóm sẽ kết hợp Unit test để kiểm tra lỗi của hệ thống, đảm bảo hệ thống hoạt động trơn tru nhất Sử dụng GitHub để quản lý source code, đảm bảo tính an toàn và toàn vẹn cho mã nguồn chương trình Giai đoạn cuối của quy trình là tổng hợp và báo cáo, đây cũng là giai đoạn quan trọng để đánh giá sản phẩm sau giai đoạn phát triển
Nhờ tuân theo các giai đoạn phát triển phần mềm và việc phân tích đánh giá bài toán hợp lý nhóm chúng em đã hoàn thành sản phẩm tương đối đầy đủ với các mục tiêu đặt ra ban đầu
Sản phẩm được tạo ra là ứng dụng di động, chạy trên nền tảng Android với các chức năng chính: Kiểm tra và hỗ trợ xây dựng quy trình dưỡng da, Chia sẻ kinh nghiệm dưỡng da, Nhật ký làn da, Lịch trình dưỡng da, Tư vấn cùng chuyên gia Đề tài được thưc hiện với mong muốn trở thành người bạn đồng hành hữu ích cho những người có nhu cầu chăm sóc da hay cải thiện làn da của mình Thông qua ứng dụng, việc chăm sóc da hằng ngày sẽ trở nên nhanh hơn, tiện lợi hơn và hiệu quả hơn
Mặc dù đã đạt được những mục tiêu đề ra nhưng trong tương lai hệ thống còn nhiều thứ phải bổ sung và cải thiện để phù hợp với xu hướng phát triển của xã hội
Và đó cũng là phần cuối cùng mà nhóm cần phải xác định trong quá trình thực hiện
đề tài, đảm bảo tính thực tế cho sản phẩm
Trang 24Nội dung khóa luận được trình bày trong 4 chương:
• Chương 01: Tổng quan đề tài
Trình bày sơ bộ về đề tài và lý do thực hiện Xác định mục tiêu, phạm vi đề tài Nêu lên hiện trạng và hướng giải quyết
• Chương 02: Kiến thức nền tảng
Giới thiệu các công nghệ sử dụng
• Chương 03: Xây dựng ứng dụng
Phân tích yêu cầu, thiết kế, hiện thực và triển khai ứng dụng
• Chương 04: Kết luận và hướng thực hiện
Những thuận lợi, khó khăn trong quá trình phát triển đề tài và nêu ra hướng phát triển trong tương lai
Trang 25Chương 1 TỔNG QUAN ĐỀ TÀI
1.1 Giới thiệu đề tài
“Đẹp” là một từ mà mọi người đều khát khao cả nam lẫn nữ Đẹp đi đôi với khỏe mạnh, đẹp đi đôi với sự lựa chọn thông minh Đẹp toát ra từ vẻ ngoài tươi tắn tràn đầy năng lượng sống Chính vì vậy sức khỏe và làm đẹp ngày càng được nhiều người quan tâm để hướng đến cuộc sống tươi vui, hạnh phúc hơn
Nếu nói trang điểm là một phép màu, mọi người ví thợ trang điểm là một nhà phù thủy giúp cho các cô gái trở nên xinh đẹp tức thì thì chăm sóc da mặt lại là một quá trình công phu, yêu cầu sự kiên trì và tỉ mỉ từng chút một Bên cạnh đó, chăm sóc
da mặt còn là sự tự thưởng cho bản thân, và tất nhiên kết quả gặt được sau một quá trình là một làn da đẹp mỹ mãn
Chăm sóc da mặt đã khẳng định được tầm quan trọng của mình, trở thành một nhu cầu thiết yếu và không ngừng tăng cao Các viện, trung tâm thẩm mỹ, spa hay các trang web bán mỹ phẩm xuất hiện ngày càng nhiều là minh chứng rõ ràng nhất cho điều đó
Cùng với sự phát triển của xã hội trong cuộc cách mạng 4.0, xu hướng làm đẹp cũng thay đổi rất nhiều Các phương pháp làm đẹp truyền thống được tinh giản
và thay thế bằng các phương pháp hiện đại mang lại hiệu quả nhanh vượt trội Trong
số đó, làm đẹp online đang được ưa chuộng và phổ biến bởi tính tiện lợi, nhanh chóng
và hiệu quả của nó Với sự giúp đỡ của các trang web, mạng xã hội, phương tiện truyền thông việc trang bị kiến thức làm đẹp trở nên dễ dàng hơn bao giờ hết, nhưng chiếm ưu thế hơn cả phải kể đến các phần mềm trên thiết bị di động Do thời gian sử dụng thiết bị di động của người dùng ngày càng cao nên việc tiếp cận thông tin cũng
dễ dàng hơn Bên cạnh đó, các phần mềm còn giúp người dùng tạo nên một thói quen chăm sóc da bằng cách nhắc nhở, đặt lịch hẹn, … và đó là mấu chốt quan trọng trong việc chăm sóc da
Nhằm bắt kịp xu hướng hiện đại, góp phần giúp mọi người hình thành thói quen chăm sóc da khoa học, mang lại hiệu quả, đề tài khóa luận đã được lên ý tưởng
và triển khai thực hiện
Trang 261.2 Lý do chọn đề tài
Không phải ai sinh ra cũng may mắn sở hữu cho mình làn da đẹp Và cái đẹp cũng không tự nhiên mà đến nếu không có sự chăm chút tỉ mỉ của con người Thật vậy, một người có làn da đẹp không chỉ do bẩm sinh mà phần lớn do quá trình chăm sóc và nuôi dưỡng của họ Chăm sóc da không phải ngày một ngày hai mà nó là cả một quá trình, như một thói quen hằng ngày trong cuộc sống Tuy nhiên, do tính chất công việc và cuộc sống, con người dần trở nên bận rộn và ít có thời gian chăm sóc bản thân
Theo số liệu mà nhóm khảo sát, có hơn 66% số người dưỡng da mỗi ngày nhưng trong đó có đến 64% chưa thực sự hiểu về làn da của mình hoặc hiểu một cách rất hời hợt Và có 62% người trong số đó chưa có cho mình một quy trình dưỡng da chuyên biệt Do đó, có đến 46% người gặp vấn đề về da dầu mụn, 12% số người sở hữu làn da thô ráp, bong tróc còn lại là các vấn đề da khác
Để việc chăm sóc da hiệu quả trước hết phải hình thành thói quen sống khoa học kết hợp với dưỡng da hằng ngày Tuy nhiên, để có cho mình một quy trình dưỡng
da phù hợp không phải là dễ, hình thành thói quen chăm sóc da lại càng khó hơn Thông thường mọi người sẽ phải sử dụng nhiều loại mỹ phẩm, áp dụng nhiều bước
để kiếm ra phương pháp chăm sóc da phù hợp với bản thân nhất Nhưng cách này tốn quá nhiều thời gian, công sức, đôi khi còn gặp nhiều rủi ro do dùng phải mỹ phẩm không phù hợp, chưa có kinh nghiệm dưỡng da Điều cần thiết nhất lúc này là nhận được tư vấn từ những chuyên gia da liễu, những người đã có kinh nghiệm dưỡng da hoặc các thông tin hỗ trợ từ những nguồn đáng tin cậy Mọi người có thể dùng các trang mạng xã hội như Facebook, Youtube, Tuy nhiên, lượng thông tin trên đó rất lớn lại không tập trung, không biết nên tin vào nguồn thông tin nào, dễ gây hoang mang mất phương hướng dẫn đến kết quả sai lầm
Từ những vấn đề nêu trên, nhóm em đã có ý tưởng xây dựng một phần mềm cho di động chuyên biệt về dưỡng da, hỗ trợ người dùng trong quá trình chăm sóc da cũng như kết nối chuyên gia với những người đang gặp vấn đề về da
Trang 27Trong quá trình thực hiện ý tưởng nhóm em cũng đã tham khảo một số ứng dụng sẵn có trên thị trường Tuy nhiên, nhóm em nhận ra rằng các ứng dụng đó chưa
đủ để giải quyết toàn bộ các vấn đề cũng như chưa thực sự chuyên sâu vào hình thành thói quen của người dùng Dù vậy, các ứng dụng đó đã cho nhóm em cái nhìn tổng quan, thấy các vấn đề chưa được giải quyết để tạo nên một ứng dụng đầy đủ và hữu ích nhất có thể
1.3 Mục tiêu
Ứng dụng xây dựng với mục đích hỗ trợ người dùng trong quá trình chăm sóc
da, tạo môi trường chia sẻ và học hỏi kinh nghiệm từ các chuyên gia và người dùng khác Tập trung vào các chức năng chính:
• Kiểm tra và phân tích da: Làm bài kiểm tra da với hệ thống câu hỏi trắc nghiệm phân loại da của Tiến sĩ Leslie Baumann và nhận được kết quả loại
da sau khi hệ thống phân tích Nhận các sản phẩm gợi ý phù hợp
• Xây dựng quy trình dưỡng da cá nhân: Thêm, chỉnh sửa các bước dưỡng da trong quy trình
• Nhật ký dưỡng da: Cập nhật và lưu lại trạng thái da hằng ngày
• Lên lịch trình dưỡng da: Dễ dàng hẹn ngày giờ cụ thể để hệ thống nhắc nhở
Trang 28Bên cạnh đó, đề tài cũng tạo ra cơ hội để nghiên cứu, học hỏi để nâng cao chuyên môn trong lĩnh vực phát triển phần mềm, nắm bắt các công nghệ mới và xu hướng phát triển ứng dụng trên thị trường
1.4 Phạm vi
Đề tài “Xây dựng ứng dụng hỗ trợ chăm sóc da” tập trung xây dựng một ứng dụng chuyên về chăm sóc da dành cho những thiết bị chạy hệ điều hành Android
• Đối tượng sử dụng:
- Những người có nhu cầu chăm sóc da
- Những người đang gặp vấn đề về da hay chưa biết cách chăm sóc da như
thế nào cho đúng
- Người có nhu cầu chia sẻ kinh nghiệm dưỡng da, các sản phẩm dưỡng da
- Các chuyên gia da liễu
• Ngữ cảnh: Quá trình chăm sóc da không phải quá phức tạp như nhiều người vẫn thường nghĩ nhưng cũng không phải đơn giản nếu như người đó chưa thực
sự hiểu về da của mình, hiểu các kiến thức làm đẹp căn bản Điều mà họ cần
là những công cụ, phương tiện hỗ trợ, cung cấp các kiến thức làm đẹp, đồng hành cùng họ trong quá trình chăm sóc da Công cụ đó phải đáp ứng các xu hướng làm đẹp hiện đại là nhanh, tiện lợi nhưng hiệu quả
• Đề tài sẽ tập trung giải quyết các vấn đề còn tồn đọng và phát sinh trong việc chăm sóc da hằng ngày như:
- Thiếu kiến thức làm đẹp
- Chưa có quy trình dưỡng da chuyên biệt
- Chưa có nơi giao lưu, đặt câu hỏi
- Không thể gặp gỡ các chuyên gia da liễu có chuyên môn, đặc biệt trong
dịp Covid-19 bùng phát như hiện nay
- Chưa có kênh thông tin riêng biệt để chia sẻ các bí quyết làm đẹp
- Muốn lưu lại các kỷ niệm trong quá trình chăm sóc da gian nan
Trang 291.5 Phương pháp thực hiện
• Khảo sát và nắm bắt yêu cầu người dùng:
- Dựa vào việc khảo sát thực tế, thu thập tài liệu trên Internet, sách báo để nắm bắt được tình trạng và yêu cầu của người dùng
- Lấy kết quả khảo sát đem đi phân tích đánh giá
- Phân tích yêu cầu người dùng thông qua việc vẽ sơ đồ use-case, làm biểu mẫu, sơ đồ tuần tự,…
- Xây dựng hệ thống cơ sở dữ liệu
• Chuẩn bị các kiến thức thuộc lĩnh vực dưỡng da:
- Thu thập thông qua các trang web làm đẹp có uy tín như: Happy Skin, Paula’s Choice,…
- Phỏng vấn chuyên gia da liễu
- Thông qua các bài nghiên cứu về da chuyên biệt của các nhà khoa học trên thế giới Ví dụ: Hệ thống câu hỏi trắc nghiệm kiêm tra loại da của Tiến sĩ Leslie Baumann, …
- Tham khảo một số ứng dụng chăm sóc da khác như: TroveSkin,
• Phân tích, thiết kế, lựa chọn công nghệ, xây dựng và kiểm thử ứng dụng:
- Nghiên cứu các công nghệ thông qua Internet và quá trình làm việc thực tế
- Sử dụng ExpressJs để lập trình backend, React Native cho front-end
- MongoDB cho cơ sở dữ liệu
- GitHub cho quản lý mã nguồn
- Sử dụng mô hình Agile-Scrum cho quy trình phát triển phần mềm
- Viết test case, unit test, automation test và kiểm thử thủ công để kiểm thử phần mềm
- Đưa phần mềm ra sử dụng thực tế để thu nhận đánh giá của người dùng
- Lên kế hoạch để chỉnh sửa, cập nhật các phiên bản tiếp theo
Trang 301.6 Ý nghĩa thực tiễn
Ứng dụng là người bạn đồng hành hữu ích cho những ai đang gặp vấn đề về
da, chuẩn bị chăm sóc da hay đang trong quá trình chăm sóc da Thông qua ứng dụng, người dùng không những có thể học thêm các kiến thức chăm sóc da mà còn được hỗ trợ xây dựng quy trình dưỡng da, hình thành thói quen chăm sóc da và được đánh giá bởi các chuyên gia da liễu có trình độ chuyên môn Ứng dụng còn là cầu nối những người yêu thích chăm sóc da lại với nhau, cùng nhau chia sẻ kinh nghiệm, cùng nhau tạo động lực để có làn da đẹp mỹ mãn
Từ việc dùng ứng dụng người dùng sẽ tiết kiệm được chi phí lẫn thời gian trong việc tạo quy trình dưỡng da Không còn quên dưỡng da với chức năng đặt lịch
và dễ dàng gặp gỡ chuyên da hơn bao giờ hết
- Hiệu suất ứng dụng cao, thời gian phản hồi nhanh
- Giao diện trực quan, dễ sử dụng cho người mới bắt đầu
- Ứng dụng mang tính thực tiễn cao và có thể triển khai thực tế
• Về mặt kiến thức chuyên môn:
- Nắm rõ về cú pháp, cấu trúc và cách thức hoạt động của các công nghệ như: React Native, ExpressJs, SocketIO, Firebase, SMTP, AWS EC2…vào ứng dụng vào trong đề tài cách hợp lý
- Hiểu rõ hơn về quy trình phát triển phần mềm, những thuận lợi và khó khăn gặp phải trong suốt quá trình triển khai dự án
Trang 311.8 Hiện trạng bài toán
“Chăm sóc da online” hay “chăm sóc da tại nhà” từ lâu đã trở thành một xu hướng làm đẹp phổ biến và không ngừng tăng cao Với sự phát triển của Internet, mạng xã hội và các phương tiện truyền thông, việc làm đẹp đã không còn khó khăn, mất thời gian như ngày xưa Thay vì phải tự mình thử nhiều dạng mỹ phẩm khác nhau thì ta có thể tìm hiểu sản phẩm đó qua Facebook, Youtube, Google, …Thay vì phải đến gặp trực tiếp các chuyên gia da liễu thì nay có thể gặp gỡ online Xu hướng chăm sóc da online đang dần trở nên chiếm ưu thế, điều này càng được thể hiện rõ ràng trong mùa dịch Covid-19 như hiện nay
Theo Báo cáo thương mại điện tử Quý 2/20201 bởi iPrice Group: ngành hàng làm đẹp và chăm sóc sức khỏe tăng trưởng mạnh thứ 2 trong các ngành hàng trực tuyến (chỉ xếp sau bách hóa trực tuyến)
Theo YouNet Media, khi đo lường chùm thảo luận xung quanh nhu cầu chăm sóc da, nhận thấy tổng thảo luận đã tăng 175.32% Ghi nhận tăng trưởng đột biến vào tháng 3/2020 và ghi nhận đạt đỉnh vào tháng 4/2020; thời điểm mọi người làm việc tại nhà theo quy định giãn cách xã hội của chính phủ Điều này cho thấy giãn cách xã hội chính là điểm sáng tích cực cho ngành hàng làm đẹp
1 Nguồn: https://younetmedia.com
Trang 32Hình 1.1 Diễn biến thảo luận về chăm sóc da của người dùng qua mùa dịch2
Từ đó chúng em nhận thấy rằng, nhu cầu chăm sóc da của người dùng ngày càng tăng nhất là xu hướng chăm sóc da online Với lợi thế nhanh, tiện lợi, hiệu quả nhất là trong thời gian giãn cách xã hội chống dịch Covid-19 này, việc sử dụng Internet, các phần mềm chuyên biệt hỗ trợ chăm sóc da lại càng trở nên có ưu thế hơn bao giờ hết
Việc sử dụng các phần mềm hỗ trợ chăm sóc da tại nhà không những tiện ích cho người dùng mà còn hỗ trợ đẩy lùi dịch Covid-19, khi tình hình dịch bệnh diễn biến phức tạp như hiện nay
Trang 33Hình 1.2 Logo ứng dụng TroveSkin3
“TroveSkin” hướng dẫn bạn cách cải thiện làn da thông qua ứng dụng điện thoại Đây là phương thức cá nhân hóa được tích hợp công nghệ giúp dễ dàng chăm sóc da TroveSkin mang đến sự tự tin cho người dùng thông qua hướng dẫn giúp người dùng có được vẻ ngoài hoàn hảo nhất.”
Ưu điểm:
- Dành cho các thiết bị Android và IOS
- Có chức năng kiểm tra da qua Camera
- Hỗ trợ tương đối đầy đủ các chức năng liên quan đến chăm sóc da
- Được đánh giá 4.5 sao trên Google Play với hơn 1 triệu lượt tải
- Có các hoạt động nhằm thúc đẩy tạo động lực chăm sóc da
Khuyết điểm:
- Người dùng không thể chia sẻ kinh nghiệm dưỡng da hay đặt câu hỏi cho người dùng khác
- Chưa hỗ trợ xây dựng quy trình dưỡng da
- Các sản phẩm quá ít thông tin và nghèo nàn
- Người dùng không thể kết nối với các chuyên gia da liễu
- Chưa hỗ trợ xây dựng lịch trình dưỡng da
1.8.1.2 Think dirty
3 Nguồn: https://play.google.com
Trang 34Hình 1.3 Logo ứng dụng Think Dirty4
Think Dirty là ứng dụng cho phép bạn tìm hiểu về các thành phần có trong
các sản phẩm chăm sóc da Chỉ cần quét mã vạch, Think Dirty sẽ cung cấp thông tin dễ hiểu về sản phẩm, các thành phần trong sản phẩm và theo dõi các thành phần đó trong những lần mua sản phẩm chăm sóc da tiếp theo
Trang 35- Chưa hỗ trợ ngôn ngữ tiếng việt
- Chưa hỗ trợ người dùng trong việc chọn mỹ phẩm phù hợp với da
- Về mặt chuyên môn, 100% nồng độ của thành phần với 10% nồng độ
có thể cho ra kết quả rất khác nhau
1.8.2 Đánh giá hiện trạng và hướng giải quyết
1.8.2.1 Đánh giá hiện trạng
Chăm sóc sắc đẹp, hay cụ thể hơn là chăm sóc da mặt luôn là nhu cầu thiết yếu không những của riêng phái đẹp mà cả phái mạnh cũng muốn sở hữu cho mình làn da đẹp, khỏe mạnh Hiện nay, sắc đẹp lên ngôi lại càng khiến
5 Nguồn: http://www.cosdna.com/
Trang 36việc chăm sóc da trở nên quan trọng Chính vì điều đó, các phương pháp làm đẹp, các loại mỹ phẩm hay các chương trình chia sẻ kinh nghiệm làm đẹp lại càng xuất hiện nhiều hơn, thường xuyên hơn
Việc sử dụng các phương pháp làm đẹp truyền thống dường như đang trở nên yếu thế trước công nghệ hiện đại Chúng ta có thể thấy rằng, việc chăm sóc da truyền thống hoàn toàn dựa trên kinh nghiệm mà chính chúng ta đã trải qua, tiếp cận thông tin cũng không hề đơn giản Việc này dẫn đến lãng phí thời gian, công sức, tiền bạc mà kết quả chưa chắc đã như mình mong muốn
Để có một làn da đẹp, trước hết phải hình thành thói quen chăm sóc da khoa học, đều đặn mỗi ngày Tuy nhiên việc này không phải là dễ Dù bạn có
đi spa, thẩm mỹ viện nhiều nhưng bạn không có lối sống khoa học, không có thói quen chăm sóc da thì bao nhiêu công sức cũng chỉ nhận về con số 0
Đã có rất nhiều ý tưởng được đưa ra, nhiều chương trình, ứng dụng được xây dựng để giải quyết vấn đề nêu trên Có nhiều chương trình đạt được thành công, nhiều ứng dụng đã tiếp cận và thay đổi phần nào được nhận thức về chăm sóc da của người dùng Tuy nhiên, với những nhu cầu chăm sóc da ngày càng nhiều, xu hướng thay đổi rất cần những ứng dụng mới hơn, cải tiến hơn
để giải quyết các vấn đề còn tồn đọng và phát sinh
1.8.2.2 Hướng giải quyết
Xu hướng chăm sóc da hiện đại là phải nhanh, tiện lợi, hiệu quả nhưng tiết kiệm chi phí Với cuộc cách mạng công nghiệp 4.0, áp dụng các thành tựu khoa học kĩ thuật vào trong ngành công nghiệp chăm sóc da đã đáp ứng nhu cầu ngày càng tăng của người dùng Theo đó, việc sử dụng các thiết bị thông minh có kết nối Internet giúp người chăm sóc da có thể dễ dàng tiếp cận các thông tin, xu hướng làm đẹp mới, rút gọn thời gian và công sức Trong số đó, thiết bị di động thông minh (smartphone) chiếm ưu thế hơn cả
Trang 37Theo báo cáo về “Thị trường ứng dụng di động 2021” do Appota phát hành, Việt Nam có khoảng 70% dân số sử dụng điện thoại di động, trong đó
có 64% các thuê bao đã kết nối 3G và 4G Tỷ lệ dân số sử dụng Internet cũng chiếm 70%, lượng người dùng sử dụng Internet qua thiết bị di động chiếm khoảng 95% và trung bình họ dùng 3 giờ 18 phút để sử dụng Internet qua di động
Chính vì vậy, phát triển ứng dụng chăm sóc da trên thiết bị di động giúp tận dụng được những ưu thế sẵn có và phù hợp với yêu cầu trong quá trình chăm sóc da của người dùng
Trang 38Chương 2 KIẾN THỨC NỀN TẢNG
Để hoàn thành sản phẩm, chúng em đã lựa chọn xây dựng hệ thống sử dụng framework ExpressJs sử dụng cho backend, React-Native sử dụng cho frontend, xây dựng cơ sở dữ liệu bằng MongoDB, ngoài ra còn một số công nghệ, dịch vụ khác…
3.1 ExpressJs
Hình 2.1 Logo expressJs và nodeJs6
Expressjs là một framework được xây dựng trên nền tảng của Nodejs Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile Expressjs hỗ trợ các method
HTTP và midleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng
Các tính năng chính của ExpressJs:
• Phát triển máy chủ nhanh chóng: Expressjs cung cấp nhiều tính năng thường
được sử dụng của Nodejs dưới dạng các hàm có thể dễ dàng sử dụng ở bất kỳ
6 Nguồn: Introduction · MongoDB & ExpresJS (gitbooks.io)
Trang 39đâu trong chương trình Điều này loại bỏ nhu cầu viết mã trong vài giờ và do đó tiết kiệm thời gian
• Middleware: là một phần của chương trình có quyền truy cập vào cơ sở dữ liệu,
yêu cầu của khách hàng và các phần mềm trung gian khác Nó chịu trách nhiệm chính cho việc tổ chức có hệ thống các chức năng khác nhau của Express.js
• Routing: Express.js cung cấp cơ chế định tuyến nâng cao giúp duy trì trạng thái
của trang web với sự trợ giúp của URL của chúng
• Templating: Expressjs cung cấp các công cụ tạo khuôn mẫu cho phép các nhà
phát triển xây dựng nội dung động trên các trang web bằng cách xây dựng các mẫu HTML ở phía máy chủ
• Debugging: Gỡ lỗi là rất quan trọng để phát triển thành công các ứng dụng web
ExpressJS giúp việc gỡ lỗi trở nên dễ dàng hơn bằng cách cung cấp cơ chế gỡ
lỗi có khả năng xác định chính xác phần ứng dụng web có lỗi
3.2 React-Native
Hình 2.2 Logo React Native7
7 Nguồn: https://reactnative.dev
Trang 40React Native là một framework mã nguồn mở được sáng tạo bởi Facebook
Nó được sử dụng để phát triển ứng dụng di động Android, iOS, Web và UWP bằng cách cho phép nhà phát triển sử dụng React cùng với môi trường ứng dụng gốc (Native)
Facebook đã phát hành phiên bản đầu tiên cho React Native vào năm 2015 Trong một cuộc hội thảo công nghệ, Christopher Chedeau cho biết Facebook đã sử dụng React Native trong phát triển ứng dụng nhóm và ứng dụng quản lí quảng cáo của họ
Các nguyên tắc hoạt động của React Native gần như giống hệt với React ngoại trừ việc React Native không thao tác với DOM thông qua DOM ảo Nó chạy một quá trình xử lý nền (phiên dịch Javascript viết bởi các nhà phát triển) trực tiếp trên thiết
bị đầu cuối và giao tiếp với nền tảng gốc qua một cầu trung gian, bất đồng bộ và theo đợt
Các thành phần React bao bọc mã gốc và tương tác với API gốc qua mô hình
UI khai báo và Javascript của React Điều này giúp việc phát triển ứng dụng cho nhiều nền tảng nhanh hơn
React Native không sử dụng HTML Thay vào đó, nó sử dụng các thành phần khác từ luồng Javascript
3.3 MongoDB