Ứng dụng quản lý và chia sẻ danh sách mua sắm.
- Node.js (phiên bản 18 trở lên)
- pnpm
- Docker và Docker Compose
- MongoDB
git clone <repository-url>
cd sharing-shopping-list# Cài đặt các package dependencies bằng pnpm
pnpm installTạo file .env trong thư mục gốc của dự án với các biến môi trường sau:
# MongoDB
MONGODB_URI=mongodb://your-mongodb-uri
# Redis
REDIS_PASSWORD=FairSplit123
# Server
PORT=8080
NODE_ENV=development
# Các biến môi trường khác nếu cần# Build và khởi động các container
docker-compose up -d
# Kiểm tra logs
docker-compose logs -f
# Dừng các container
docker-compose downSau khi khởi động thành công:
- Backend API sẽ chạy tại: http://localhost:8080
- Redis sẽ chạy tại port: 6379
# Chạy ở chế độ development
pnpm run dev
# Hoặc build và chạy ở chế độ production
pnpm run build
pnpm run startDự án sử dụng hai container chính:
- Backend (Node.js): Chạy server API
- Redis: Sử dụng làm cache và quản lý phiên
- API Health Check: http://localhost:8080/api/v1/health
- Redis Health Check: Tự động kiểm tra mỗi 30 giây
- Đảm bảo các port 8080 và 6379 không bị sử dụng bởi ứng dụng khác
- Trong môi trường development, source code được mount vào container để hỗ trợ hot-reload
- Redis data được persist thông qua volume
redis-data
Nếu gặp vấn đề, bạn có thể thử các bước sau:
- Kiểm tra logs:
docker-compose logs -f- Restart các services:
docker-compose restart- Rebuild và khởi động lại:
docker-compose down
docker-compose up -d --build