Hệ thống bán vaccines trực tuyến - Đồ án môn học Quản trị cơ sở dữ liệu hiện đại - Modern Database Management
- 18120580 - Đinh Quang Thọ
- 18120606 - Trần Thị Trang
- 18120609 - Hồ Khắc Minh Trí (Nhóm trưởng)
- 18120634 - Nguyễn Lê Anh Tuấn
Nhằm giúp sinh viên biết cách phân tích, đánh giá và vận dụng HQTCSDL NoSQL vào xây dựng hệ thống thực tế (hệ thống yêu cầu khả năng mở rộng và hiệu suất truy xuất).
Sinh viên khảo sát quy trình trên trang https://vnvc.vn:
- Lập bảng phân tích ưu nhược điểm của các hệ quản trị cơ sở dữ liệu mà nhóm sử dụng.
- Mô tả lại các quy trình nghiệp vụ yêu cầu khả năng mở rộng và hiệu suất truy xuất.
- Thiết kế dữ liệu.
- Cài đặt bảng dữ liệu thiết kế vật lý vào hệ quản trị cơ sở dữ liệu.
- Thực hiện thử nghiệm với các câu truy vấn với giả định tần suất lớn và các nhu cầu mở rộng. Quan sát thực nghiệm và đề xuất giải pháp cải thiện hiệu quả truy xuất của bản thiết kế và đảm bảo ràng buộc toàn vẹn.
Mô tả quy trình, dữ liệu, ràng buộc liên quan, danh sách chức năng cần xây dựng kèm tần suất giao dịch (thêm, xóa, sửa và truy xuất dữ liệu) tương ứng.
Bảng thiết kế cơ sở dữ liệu theo đề xuất của nhóm, các đề xuất về cải thiện hiệu quả truy vấn dựa trên thiết kế đề xuất, source code của project mô phỏng các chức năng, source tạo csdl, query, index, ... có sử dụng.
Báo cáo cần ghi rõ thông tin cá nhân, thông tin nhóm, đánh giá cá nhân và nhóm, báo cáo là tài liệu tổng kết từ giai đoạn phân tích, thiết kế, cài đặt, đánh giá kết quả giải pháp của nhóm.
- ReactJS v18.0.0
- Xây dựng UI với Material UI
- Build project với ViteJS
- RESTful API với axios
- NodeJS framework - ExpressJS v4.17.3
- Connect MySQL
- sequelize v6.19.0
- mysql2 v2.3.3
- Connect MongoDB
- mongoose v6.3.0
- Connect Redis
- redis v4.1.0
- Connect Elasticsearch
- @elastic/elasticsearch v8.2.1
- Read env - dotenv v16.0.0
- MySQL v8.0.x
- MongoDB v5.0.x
- Redis v5.0.x
- Elasticsearch v8.2.2
- IDE - Text Editor: Visual Studio Code
- NodeJS version 16.x
- Node Package Manager: yarn 1.22.x hoặc npm 6+
- Development Browser: Chrome
- Slack
- Github, Github Project
- IDE sử dụng:
Visual Studio Code
. - Format với
Prettier
extension. - Consistent coding với
Editor Config
extension. - Tên file, folder viết cách nhau bới dấu
-
nếu có nhiều từ. - Tên các bảng trong databases và models là
camelCase
. - Tên thuộc tính trong bảng (model), tên biến, hàm là
camelCase
. - Đặt tên file đi kèm với tên module của nó (bỏ
s
), trừ views và public. Ví dụ (name.controller.js, name.route.js). - Dùng async / await khi code Server (nếu không bắt buộc phải dùng Promise).
- Tên các components, pages phía Client là dạng
PascalCase
. - Không sử dụng hard code (magic number - là những chuỗi hoặc con số cứng). Hãy đặt nó trong
constants
. - Pull code trước khi push (báo conflict cho team nếu nó quá phức tạp).
- Kiểm tra các template, mixin, helper trước khi code 1 chức năng (nhằm tái sử dụng lại chức năng).
- Cố gắng tách các module, mixin nếu có thể.
- Đặt kiểu method trước mối hàm của controller. Ví dụ
getController, postController
. - Lưu đặt
try catch
trong controller để bắt lỗi (hoặc trong những hàm có connect DB). Log lỗi kèm với tên hàm.
Elasticsearch được sử dụng trong chức năng Tìm kiếm. Các dữ liệu cần cho tìm kiếm sẽ được đồng bộ từ MongoDB vào Elasticsearch
# Đổi {host_path} thành nơi lưu trữ dữ liệu cho Elasticsearch
> docker run -d --name elasticsearch --net elasticsearch_network -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v {host_path}:/usr/share/elasticsearch/data elasticsearch:8.2.2
# Cài đặt Kibana để tiện thao tác với Elasticsearch (có thể sử dụng Postman để thay thế)
> docker run -d --name kibana --net elasticsearch_network -p 5601:5601 kibana:8.2.2
# Tạo token từ Elastichsearch để sử dụng cho Kibana
> docker exec -it -u 0 elasticsearch bash
> bin/elasticsearch-create-enrollment-token --scope kibana
# Tạo verification code cho Kibana
> docker exec -it -u 0 kibana bash
> bin/kibana-verification-code
# Reset lại password để đăng nhập Elasticsearch
root@elasticsearch: elasticsearch-reset-password -u {username}
# Có thể sử dụng Postman. Cần điền username, password vào Authorization
> cd Back-end
> yarn install
- Thay file .local.env bằng file .env và thay các giá trị tương ứng trong file .env. Sau đó, chạy lệnh dưới đây để khởi chạy Server
> yarn dev hoặc yarn start
> cd Front-end
> yarn install
- Thay file .local.env bằng file .env và thay các giá trị tương ứng trong file .env. Sau đó, chạy lệnh dưới đây để khởi chạy Client
> yarn dev