Skip to main content

Bắt đầu nhanh

Hướng dẫn cài đặt và chạy Smart Forecast trong vài phút.


Yêu cầu hệ thống

Phần mềm cần thiết

Phần mềmPhiên bảnGhi chú
Docker>= 20.10Download
Docker Compose>= 2.0Đi kèm Docker Desktop
Node.js>= 18.xDownload
pnpm>= 8.xPackage manager cho monorepo
GitLatestDownload

Kiểm tra phiên bản

docker --version
docker compose version
node --version
pnpm --version
git --version

Cài đặt pnpm

# Sử dụng npm
npm install -g pnpm

# Windows (PowerShell)
iwr https://get.pnpm.io/install.ps1 -useb | iex

# macOS/Linux
curl -fsSL https://get.pnpm.io/install.sh | sh -

Cài đặt

1. Clone repository

git clone https://github.com/NEU-DataVerse/Smart-Forecast.git
cd Smart-Forecast

2. Cài đặt dependencies

# Cài đặt tất cả packages trong monorepo
pnpm install

# Build shared package (BẮT BUỘC!)
pnpm run build:shared

3. Cấu hình môi trường

# Tự động copy tất cả file .env.example (khuyến nghị)
bash scripts/setup.sh # Linux/Mac/Git Bash
scripts\setup.bat # Windows

# Hoặc thủ công
cp .env.example .env
cp backend/.env.example backend/.env
cp web/.env.local.example web/.env.local
cp mobile/.env.example mobile/.env

4. Cấu hình API Keys

Chỉnh sửa backend/.env:

# OpenWeatherMap API Key (bắt buộc)
# Đăng ký miễn phí tại: https://openweathermap.org/api
OPENWEATHERMAP_API_KEY=your_api_key_here

# JWT Secret (thay đổi trong production)
JWT_SECRET=your_secure_secret_key

Khởi động với Docker

Quick Start (1 lệnh)

docker compose up -d

Kiểm tra trạng thái

# Xem trạng thái containers
docker compose ps

# Xem logs
docker compose logs -f

Truy cập các dịch vụ

Dịch vụURLMô tả
Backend APIhttp://localhost:8000/apiREST API & Swagger
Orion-LDhttp://localhost:1026Context Broker
MinIO Consolehttp://localhost:9001Object Storage UI
PostgreSQLlocalhost:5432Database

Credentials mặc định

Dịch vụUsernamePassword
MinIOminioadminminioadmin
PostgreSQLadminadmin
MongoDBadminadmin

Development Mode

Chạy Backend

# Terminal 1: Backend NestJS
pnpm run dev:backend

# API sẽ chạy tại: http://localhost:8000

Chạy Web Dashboard

# Terminal 2: Web Next.js
pnpm run dev:web

# Web sẽ chạy tại: http://localhost:3000

Chạy Mobile App

# Terminal 3: Mobile Expo
pnpm run dev:mobile

# Expo DevTools sẽ mở tại: http://localhost:8081
Lưu ý cho Mobile

Không sử dụng localhost trong mobile/.env. Thay bằng IP máy của bạn:

# Tìm IP: ipconfig (Windows) hoặc ifconfig (Mac/Linux)
EXPO_PUBLIC_BACKEND_API_URL=http://192.168.1.100:8000/api/v1

Kiểm tra hệ thống

Health Check

# Orion-LD
curl http://localhost:1026/version

# Backend API
curl http://localhost:8000/api/v1

# MinIO
curl http://localhost:9000/minio/health/live

Kết nối Database

# PostgreSQL
docker exec -it postgres psql -U admin -d smart_forecast_db

# MongoDB
docker exec -it mongodb mongosh

Dừng dịch vụ

# Dừng tất cả (giữ data)
docker compose down

# Dừng và xóa data
docker compose down -v

# Dừng và xóa images
docker compose down --rmi all

Gặp vấn đề?

Xem Troubleshooting để giải quyết các lỗi thường gặp.


Tiếp theo