Tổng quan đồ án
Ứng dụng làm đẹp được phát triển nhằm mang đến cho người dùng một nền tảng tiện lợi để tiếp cận các thông tin và dịch vụ liên quan đến làm đẹp. Với sự gia tăng của nhu cầu làm đẹp trong xã hội hiện đại, việc có một ứng dụng di động giúp người dùng dễ dàng truy cập các tài nguyên và tư vấn từ chuyên gia trở nên cần thiết hơn bao giờ hết.
Mục đích chính của ứng dụng là cung cấp một công cụ hỗ trợ toàn diện cho người dùng trong việc tìm hiểu và thực hiện các biện pháp làm đẹp. Ứng dụng không chỉ đơn thuần là một công cụ tra cứu mà còn là một nền tảng giao tiếp giữa người dùng và các chuyên gia làm đẹp. Thông qua ứng dụng, người dùng có thể nhận được các lời khuyên, hướng dẫn cụ thể và phù hợp với từng cá nhân.
Ứng dụng hướng đến một nhóm đối tượng người dùng đa dạng, bao gồm những người quan tâm và có nhu cầu tìm hiểu về làm đẹp, những người mong muốn nhận được tư vấn chuyên sâu từ các chuyên gia làm đẹp, và các chuyên gia cũng như nhà cung cấp dịch vụ làm đẹp muốn tiếp cận và tương tác trực tiếp với khách hàng.
Ứng dụng làm đẹp bao gồm các tính năng chính sau: tính năng trò chuyện cho phép người dùng gửi tin nhắn và nhận tư vấn từ gemini AI, danh mục chủ đề giúp người dùng dễ dàng tìm kiếm và chọn lựa thông tin cần thiết, và blog làm đẹp, nơi mỗi chủ đề trong danh mục sẽ liên kết đến một blog chứa các bài viết chi tiết, cung cấp thông tin, hướng dẫn và mẹo làm đẹp.
Ứng dụng làm đẹp không chỉ mang lại tiện ích và thông tin phong phú cho người dùng mà còn tạo nên một cộng đồng làm đẹp kết nối giữa người dùng và các chuyên gia trong lĩnh vực này.
Mục tiêu đề tài
Đồ án chuyên ngành của em nhằm phát triển một ứng dụng di động với chủ đề làm đẹp. Ứng dụng này sẽ cung cấp các tính năng như trò chuyện với AI về các chủ đề làm đẹp, các tiêu mục chứa blog về các chủ đề làm đẹp từ đầu đến chân, từ sức khỏe đến thời trang, … tương ứng với nhu cầu của người dùng. Mục tiêu chính của đề tài là tạo ra một nền tảng tiện lợi và hữu ích giúp người dùng dễ dàng tiếp cận thông tin và tư vấn về làm đẹp.
Nội dung đồ án
Framework
Flutter là một framework mã nguồn mở được phát triển bởi Google, được sử dụng để xây dựng ứng dụng di động đa nền tảng. Điều đặc biệt về Flutter là nó cho phép nhà phát triển xây dựng một ứng dụng duy nhất có thể chạy trên cả hai hệ điều hành phổ biến là Android và iOS.
Môi trường
a. Visual Studio Code
Visual Studio Code là một trình biên tập mã nguồn mở và miễn phí được phát triển bởi Microsoft. Nó là một ứng dụng đa năng được sử dụng chủ yếu cho việc phát triển và biên tập mã nguồn cho các ngôn ngữ lập trình khác nhau. VS Code được thiết kế để mang lại trải nghiệm phát triển hiệu quả và linh hoạt, với các tính năng hỗ trợ như gợi ý mã, gỡ lỗi, kiểm tra cú pháp, quản lý phiên bản, tích hợp terminal, và nhiều phần mở rộng mạnh mẽ để mở rộng khả năng của nó.
VS Code có thể được sử dụng để phát triển ứng dụng trên nhiều nền tảng, bao gồm Windows, macOS và Linux. Nó hỗ trợ nhiều ngôn ngữ lập trình và khung làm việc khác nhau, và người dùng có thể tùy chỉnh và mở rộng trình biên tập bằng cách cài đặt các phần mở rộng từ cộng đồng.linh hoạt hơn.
b. Android Studio
Android Studio là một môi trường phát triển tích hợp (IDE – Integrated Development Environment) mạnh mẽ và chính thức dành riêng cho việc phát triển ứng dụng di động trên nền tảng Android. Được phát triển bởi Google, Android Studio cung cấp một loạt các công cụ và tính năng giúp nhà phát triển tạo ra các ứng dụng Android chất lượng cao, sử dụng Gradle để quản lý dự án, hỗ trợ các điều hành như Windows, Mac OS X, Linux và đặc biệt là định thức IDE của Google.
Kiến trúc của Flutter giúp làm việc nhóm dễ dàng hơn, hỗ trợ cách tiếp cận Reactive UI và không bao giờ làm tổn hại đến hiệu năng của Flutter. Một thư viện kiến trúc ứng dụng Dart với luồng dữ liệu đơn hướng được điều chỉnh bởi RefluxJS và Facebook ED Flux.
Kiến trúc của Flutter bao gồm các thành phần sau:
- Framework Flutter (Flutter Framework): Đây là lớp trung tâm của Flutter. Nó cung cấp các API và các công cụ cần thiết để xây dựng ứng dụng di động đa nền tảng. Framework này bao gồm các thành phần như Material Design và Cupertino Widgets để tạo giao diện người dùng đẹp mắt và tương thích với các hệ điều hành iOS và Android.
- Engine Flutter: Đây là một phần mềm cấp thấp, nền tảng riêng biệt được viết bằng C++ và được tích hợp sâu vào hệ điều hành của thiết bị. Engine này xử lý các yêu cầu về vẽ đồ họa, tương tác người dùng và khác nhau giữa các nền tảng.
- Layer Core (Flutter Core): Layer này chứa các thành phần cốt lõi như đồng bộ hóa, lập lịch, và quản lý trạng thái của ứng dụng. Nó cung cấp một cơ chế để quản lý trạng thái ứng dụng và giao tiếp với các thành phần khác trong hệ thống Flutter.
- Layer Render (Flutter Render): Layer này chịu trách nhiệm vẽ giao diện người dùng của ứng dụng dựa trên cây widget. Nó sử dụng Skia, một thư viện đồ họa được tối ưu hóa, để vẽ các widget lên màn hình.
- Layer Framework (Flutter Framework): Layer này bao gồm tất cả các widget, module, và công cụ phát triển cần thiết để xây dựng ứng dụng Flutter. Điều này bao gồm các thành phần như Material Design và Cupertino Widgets, cũng như các công cụ để quản lý trạng thái ứng dụng và xử lý sự kiện.
- Layer Plugins (Flutter Plugins): Layer này chứa các plugin cung cấp tính năng mở rộng cho ứng dụng Flutter, cho phép truy cập các tính năng của hệ điều hành và thiết bị, chẳng hạn như máy ảnh, cảm biến, và lưu trữ.
Giao diện ứng dụng







Kết luận
Em xin được đánh giá đồ án ứng dụng di động của mình đã đạt được ở mức độ cơ bản. Qua đồ án em đã biết được cách tích hợp với Gemini AI để tạo ra một chatbox thông minh, giúp tương tác hiệu quả với người dùng. Ngoài ra việc gọi API đến MongoDB cũng đã được thực hiện thành công, cho phép kết nối, đọc và hiển thị dữ liệu từ cơ sở dữ liệu MongoDB một cách hiệu quả.
Ứng dụng có nhiều tiềm năng phát triển trong tương lai với những tính năng như voice chat, khả năng quét FaceID để đưa ra các gợi ý làm đẹp phù hợp, khả năng đề xuất sản phẩm dựa trên đối tượng và nhu cầu của người dùng,… Ứng dụng có thể mở rộng các tính năng trên và cải thiện trải nghiệm người dùng, đồng thời tối ưu hóa hiệu suất hệ thống để đảm bảo tính ổn định và mượt mà của ứng dụng, hứa hẹn sẽ mang lại trải nghiệm người dùng tốt hơn phù hợp hơn với nhu cầu thực tế của họ và nâng cao tính tương tác.
Trong quá trình thực hiện đồ án, em đã học hỏi được nhiều kỹ năng mới và rèn luyện khả năng lập trình, từ đó nâng cao kỹ năng giao tiếp và xử lý vấn đề. Đồ án cũng là cơ hội để áp dụng những kiến thức đã học được vào thực tiễn, từ đó nâng cao khả năng tự học và tự rèn luyện trong tương lai.


