Backend Express.js server cho ứng dụng UIT iMap. Server cung cấp các RESTful API quản lý dữ liệu bản đồ (hotspots, rooms, tourScenes, tiles,...), tích hợp xác thực JWT, phục vụ ứng dụng web tĩnh và quy trình đóng gói đa tầng với Docker.
- Node.js: phiên bản
>= 18 - npm (hoặc
yarn/pnpm) - Docker & Docker Compose (nếu triển khai dạng container)
- Di chuyển vào thư mục dự án server:
cd uit-imap-server - Cài đặt các gói phụ thuộc (dependencies):
npm install
- Cấu hình biến môi trường: Tạo hoặc chỉnh sửa file
.envtại thư mục gốc của server.
npm run devnpm startcd uit-imap-server
docker compose build --no-cache
docker compose up -ddocker-compose.ymlđã được đồng bộ các thuộc tính cấu hình từ file.env.- Cơ chế fallback mặc định: Nếu khi build hoặc khởi chạy không truyền thuộc tính (hoặc file
.envbị thiếu/không tồn tại),docker-compose.ymlsẽ tự động lấy giá trị mặc định được đồng bộ từ.envdạng${VARIABLE:-default_value}. - Các thuộc tính cấu hình chính bao gồm:
| Biến môi trường | Giá trị mặc định trong build | Mô tả |
|---|---|---|
PORT |
4000 |
Cổng dịch vụ backend và port mapping của container |
SITE_URL |
https://localhost |
URL gốc của ứng dụng (dùng tạo SEO metadata) |
STUDENT_REPO_URL |
https://github.com/helitoo/uit-imap.git |
Git repository của app Student |
STUDENT_REPO_BRANCH |
main |
Nhánh Git ứng dụng Student |
STUDENT_VITE_BASE_PATH |
/ |
Base path ứng dụng Student |
MANAGER_REPO_URL |
https://github.com/helitoo/uit-imap-manager.git |
Git repository của app Manager |
MANAGER_REPO_BRANCH |
main |
Nhánh Git ứng dụng Manager |
MANAGER_VITE_BASE_PATH |
/manager/ |
Base path ứng dụng Manager |
API_URL |
/api |
Tiền tố API URL cho frontend |
DATA_PATH |
./data |
Đường dẫn thư mục dữ liệu (Mount volume) |
JWT_SECRET |
|
Khóa bí mật JWT token (Runtime) |
JWT_EXPIRES_IN |
24h |
Thời gian hết hạn JWT token (Runtime) |
CORS_ORIGINS |
(trống) | Danh sách domain CORS cho phép (Runtime) |
Bạn có thể thay đổi các giá trị cấu hình theo các cách sau:
- Chỉnh sửa file
.env: Thay đổi giá trị mong muốn trong file.envtại thư mục gốc server, sau đó chạy:docker compose up -d --build
- Ghi đè trực tiếp qua dòng lệnh:
STUDENT_REPO_BRANCH=dev PORT=5000 docker compose up -d --build