#!/bin/bash # ============================================================================= # POS MICRO - Development Script # ============================================================================= set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" cd "$PROJECT_DIR" # Colors RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color echo -e "${GREEN}" echo "╔══════════════════════════════════════════════════════════════╗" echo "║ POS MICRO ║" echo "║ Development Environment ║" echo "╚══════════════════════════════════════════════════════════════╝" echo -e "${NC}" case "${1:-up}" in up) echo -e "${YELLOW}Starting development environment...${NC}" docker-compose up -d postgres echo -e "${GREEN}Waiting for database...${NC}" sleep 5 echo -e "${GREEN}Starting backend...${NC}" cd backend && npm run start:dev & echo -e "${GREEN}Starting frontend...${NC}" cd ../frontend && npm run dev & wait ;; down) echo -e "${YELLOW}Stopping development environment...${NC}" docker-compose down pkill -f "nest start" || true pkill -f "vite" || true ;; db) echo -e "${YELLOW}Starting database only...${NC}" docker-compose up -d postgres echo -e "${GREEN}Database available at localhost:5433${NC}" ;; logs) docker-compose logs -f ;; reset-db) echo -e "${RED}Resetting database...${NC}" docker-compose down -v docker-compose up -d postgres sleep 5 echo -e "${GREEN}Database reset complete!${NC}" ;; *) echo "Usage: $0 {up|down|db|logs|reset-db}" echo "" echo "Commands:" echo " up - Start full development environment" echo " down - Stop all services" echo " db - Start database only" echo " logs - View container logs" echo " reset-db - Reset database (WARNING: deletes all data)" exit 1 ;; esac