.16 Sơ đồ tuần tự chức năng đề xuất bài viết

Một phần của tài liệu Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp) (Trang 83 - 86)

4.4. Thiết kế kiến trúc:

4.4.1. Mơ hình kiến trúc

Hiện tại nhóm em xây dựng đề tài trên web. Project của nhóm được kế theo mơ hình: mơ hình MVC (Model-View-Controller).

4.4.2. Mơ tả

MVC: là mơ hình giúp tương tác giữa người dùng và giao diện đồ họa. Mơ hình MVC gồm có 3 phần:

- Model: bao gồm các dữ liệu, trạng thái.

- View: là đại diện của các Model, View có trách nhiệm render ra giao diện người dùng (UI) và giao tiếp với controller khi người dùng tương tác với ứng dụng.

- Controller: là phần điều khiển tổng thể những gì xảy ra trong ứng dụng. Khi View nói với Controller rằng người dùng click vào một nút, Controller sẽ quyết định làm thế nào để tương tác với các Model phù hợp. Dựa trên dữ liệu thay đổi trong Model, Controller có thể quyết định cập nhật lại trạng thái của View.

4.4.2.1. ExpressJS

Express là một framework hỗ trợ việc phát triển ứng dụng theo mơ hình MVC, mơ hình phổ biến cho việc lập trình web hiện nay.

 Cho phép định nghĩa Middleware hỗ trợ cho việc tổ chức và tái sử dụng code.

 Định nghĩa routes và các request method đến server một cách dễ dàng.

 Hỗ trợ REST API.

 Và còn rất nhiều thứ mà framework này hỗ trợ, còn bây giờ hãy thử cài đặt và

xây dựng một ứng dụng đơn giản nhé.

4.4.2.2. NodeJS server

Trong hệ thống này, server được sử dụng trên NodeJS. Vậy NodeJS là gì và lý do sử dụng nó:

 Node.js là một mã nguồn được xây dựng dựa trên nền tảng Javascript V8 Engine. Nó được xây dựng để chạy trên server.

4.4.2.3. Cơ sở dữ liệu

Hệ thống sử dụng hệ quản trị cơ sở dữ liệu MongoDB, là một dạng NoSQL không ràng buộc kiểu dữ liệu giúp việc lưu trữ thông tin tiện nghi hơn, và dữ liệu được lưu trữ ở trên server Mongo chứ không phải trong máy tính người dùng.

Dữ liệu sau khi được cào sẽ lưu trên server Mongo, được ghi với <Key>:<Value>. Ngoài ra hệ cơ sở dữ liệu mongodb cũng cung cấp các phương thức CRUD để thuận tiện trong việc thao tác.

Hệ thống cũng sự dụng thêm cơ sở dữ liệu SQLite để thực hiện quản lý người dùng và lưu lại lịch sử tìm kiếm, lịch sử xem bài viết giúp việc truy dữ liệu nhanh chóng, hiệu quả hơn

4.4.3. Thiết kế cơ sở dữ liệu: 4.4.3.1. SQLite: 4.4.3.1. SQLite:

Thiết kế:

Một phần của tài liệu Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp) (Trang 83 - 86)