STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id string Bắt buộc,
duy nhất
Mã sản phẩm
2 cost string Bắt buộc Giá tiền sản phẩm 3 description string Bắt buộc Mô tả sản phẩm
4 idCategory string Mã kiểu phân loại của sản phẩm
5 idImage number Bắt buộc Mã ảnh sản phẩm
6 linkAR string Bắt buộc Đường dẫn đến tệp dữ liệu mô hình AR
7 linkImage string Bắt buộc Đường dẫn đến ảnh sản phẩm
8 name string Bắt buộc Tên sản phẩm
9 nameCategory string Tên kiểu phân loại của sản phẩm
10 numVote string Bắt buộc Số lượt đánh giá của sản phẩm
11 rating string Bắt buộc Số sao trung bình của sản phẩm
2 name string Bắt buộc Tên kiểu phân loại
3 idProducts string[] Bắt buộc Danh sách mã sản phẩm thuộc kiểu phân loại
3.4.3.5. Chi tiết bộ sưu tập chats
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id string Bắt buộc,
duy nhất
Mã cuộc trò chuyện
2 name string Bắt buộc Tên tài khoản người dùng 3 email string Bắt buộc Email tài khoản người dùng 4 photoUrl string Bắt buộc Đường dẫn đến ảnh đại diện
tài khoản người dùng
5 messages document[] Danh sách các tin nhắn của cuộc trò chuyện
3.4.3.6. Chi tiết bộ sưu tập messages
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 idFrom string Bắt buộc Mã người dùng người gửi tin nhắn
2 idTo string Bắt buộc Mã người dùng người nhận tin nhắn
3 content string Bắt buộc Nội dung tin nhắn 4 type number Bắt buộc Kiểu tin nhắn
3.5. Thiết kế kiến trúc
Hình 3.4.1: Mô hình kiến trúc ứng dụng
Ứng dụng được xây dựng và phát triển theo mô hình Model - View -Controller (MVC). Mẫu MVC đề xuất chia mã của ứng dụng thành 3 thành phần. Trong khi tạo class hoặc tệp tin của ứng dụng, nhà phát triển phải phân nó vào một trong ba lớp sau:
Model: Thành phần này lưu trữ dữ liệu ứng dụng. Nó không có kiến thức về giao diện. Model chịu trách nhiệm xử lý logic (các quy tắc nghiệp vụ trong thế giới thực) và giao tiếp với cơ sở dữ liệu và các lớp mạng.
View: Là lớp UI (Giao diện người dùng) chứa các thành phần hiển thị trên màn hình. Hơn nữa, nó cung cấp hình ảnh trực quan của dữ liệu được lưu trữ trong Model và cung cấp sự tương tác cho người dùng.
Controller: Thành phần này thiết lập mối quan hệ giữa View và Model. Nó chứa logic ứng dụng cốt lõi và được thông báo về hành vi của người dùng và cập nhật Model theo nhu cầu.
3.6. Thiết kế giao diện
3.6.1. Sơ đồ liên kết màn hình
3.6.2. Danh sách các màn hình
STT Tên màn hình Mô tả
1 Giới thiệu Màn hình giới thiệu ứng dụng 2 Đăng nhập Màn hình đăng nhập tài khoản 3 Trang chính Màn hình chính của ứng dụng 4 Danh sách sản phẩm Màn hình danh sách sản phẩm 5 Chi tiết sản phẩm Màn hình chi tiết sản phẩm
6 Hiển thị dưới dạng AR Màn hình hiển thị sản phẩm dưới dạng AR 7 Danh sách yêu thích Màn hình danh sách sản phẩm đã yêu thích 8 Nhắn tin tư vấn Màn hình nhắn tin tư vấn người dùng 9 Thông tin tài khoản Màn hình thông tin tài khoản người dùng 10 Danh sách đã đánh giá Màn hình danh sách sản phẩm đã đánh giá 11 Liên hệ qua gmail Màn hình gửi gmail cho nhà phát triển 12 Hướng dẫn sử dụng Màn hình hướng dẫn sử dụng
3.6.3. Chi tiết các màn hình
3.6.3.1. Chi tiết màn hình giới thiệu
3.6.3.2. Chi tiết màn hình đăng nhập
3.6.3.3. Chi tiết màn hình trang chính
3.6.3.4. Chi tiết màn hình danh sách sản phẩm
3.6.3.5. Chi tiết màn hình chi tiết sản phẩm
3.6.3.6. Chi tiết màn hình hiển thị sản phẩm dưới dạng AR
3.6.3.7. Chi tiết màn hình danh sách yêu thích
3.6.3.8. Chi tiết màn hình nhắn tin tư vấn
3.6.3.9. Chi tiết màn hình thông tin tài khoản
3.6.3.10. Chi tiết màn hình danh sách đã đánh giá
3.6.3.11. Chi tiết màn hình liên hệ qua gmail
3.6.3.12. Chi tiết màn hình hướng dẫn sử dụng
3.6.3.13. Chi tiết màn hình thông tin ứng dụng
Chương 4. TỔNG KẾT 4.1. Cài đặt và thử nghiệm 4.1.1. Mức độ hoàn thành
STT Tên công việc Mức độ
hoàn thành Ghi chú
1 Tìm hiểu về AR 100%
2 Xây dựng ứng dụng thiết kế nội thất 100%
4.1.2. Môi trường phát triển
- Hệ điều hành: Microsoft Windows 11
- Công cụ phát triển ứng dụng: Android Studio, Visual Studio Code, Firebase, Unity, Android virtual devices
- Ngôn ngữ phát triển: Dart (Flutter)
- Hệ quản trị cơ sở dữ liệu: Firebase
- Công cụ hỗ trợ: GitHub
4.1.3. Môi trường triển khai
- Hệ điều hành: Android
- Yêu cầu phần mềm:
⚫ Android API 21 trở lên
- Yêu cầu phần cứng ⚫ RAM 2GB trở lên ⚫ Có máy ảnh hoạt động 4.1.4. Đường dẫn Github Đường dẫn GitHub đồ án: - Ứng dụng thiết kế nội thất: https://github.com/troqphuc147/interior_design_and_ar
4.2. Kết quả đạt được
Kết thúc giai đoạn phát triển, đồ án đã đạt được kết quả mong đợi, theo đúng kế hoạch, mục tiêu ban đầu.
❖ Ưu điểm
- Tích hợp thành công công nghệ AR
- Giao diện thân thiện, dễ sử dụng
- Tốc độ, hiệu suất khá tốt
- Hệ thống có khả năng phát triển và mở rộng cao
❖ Vấn đề tồn đọng
- Chưa xây dựng tính năng cho người quản lý
- Chưa kiểm thử đầy đủ và chi tiết
❖ Qua thời gian thực hiện đồ án, nhóm đã hoàn thành và đạt được một số kết quả như sau:
- Hiểu và áp dụng thành công công nghệ AR
- Hiểu và nắm rõ hơn về ngôn ngữ lập trình Dart, framework Flutter, Firebase
- Phát triển kỹ năng làm việc nhóm cũng như kỹ năng của mỗi cá nhân
4.3. Hướng phát triển
Ứng dụng thiết kế nội thất tích hợp công nghệ AR đã hoàn thành các chức năng đã đề ra tuy nhiên vẫn còn chưa hoàn thiện, còn nhiều khả năng mở rộng:
- Xây dựng hệ thống quản lý cho người quản lý
- Xây dựng hệ thống thương mại cho sản phẩm
- Xây dựng hệ thống đề xuất dựa trên dữ liệu người dùng
- Tối ưu hóa code để tăng tốc độ xử lý
- Sưu tầm, thiết kế thêm các mô hình sản phẩm nội thất
Ứng dụng thiết kế nội thất tích hợp AR khá hữu ích và có khả năng ứng dụng vào thực tiễn cao. Tuy nhiên, do hạn chế về thời gian nghiên cứu và kinh nghiệm, nhóm chưa phát huy được hết tiềm năng của đề tài. Trong thời gian tới, nhóm sẽ cố gắng tìm hiểu sâu hơn về công nghệ AR, cách áp dụng vào thực tế, xây dựng các tính năng nêu trên nhằm phát triển và mở rộng quy mô đồ án.
4.4. Bảng phân công công việc
STT Tên công việc Thành viên
Trọng Phục Dận Quang
1 Chuẩn bị, lên kế hoạch x x
2 Tìm hiểu công nghệ x x
3 Khảo sát, đặc tả yêu cầu x x
4 Thiết kế kiến trúc x x
5 Thiết kế dữ liệu x x
6 Thiết kế giao diện x x
7 Xây dựng tính năng quản lý tài khoản x x
8 Xây dựng tính năng tìm kiếm x x
9 Xây dựng tính năng xem danh sách sản phẩm x x 10 Xây dựng tính năng xem chi tiết sản phẩm x x 11 Xây dựng tính năng hiển thị dưới dạng AR x x
12 Xây dựng tính năng nhắn tin tư vấn x x
13 Xây dựng tính năng liên hệ qua gmail x x
14 Kiểm tra và sửa lỗi x x
15 Viết và tổng hợp báo cáo x x
Tỷ lệ công việc phân công 50% 50%
Tài liệu tham khảo
1. Flutter:
https://flutter.dev/ 2. Firebase
https://firebase.google.com/
3. Diễn đàn công nghệ của lập trình viên https://stackoverflow.com/
4. Bách khoa toàn thư mở Wikipedia https://www.wikipedia.org/ 5. Flutter GetX https://chornthorn.github.io/getx-docs/ 6. AR Technology https://en.wikipedia.org/wiki/Augmented_reality 7. AR Document https://www.slideshare.net/mamatavenu/venu-final-doc-with-abstract 8. Augmented reality technologies, systems and applications
https://www.researchgate.net/publication/216813812_Augmented_reality_te chnologies_systems_and_applications