Files
HoruxStrategyKimi/scripts/dev-down.sh
HORUX360 a9b1994c48 feat: Implement Phase 1 & 2 - Full monorepo architecture
## Backend API (apps/api)
- Express.js server with TypeScript
- JWT authentication with access/refresh tokens
- Multi-tenant middleware (schema per tenant)
- Complete CRUD routes: auth, cfdis, transactions, contacts, categories, metrics, alerts
- SAT integration: CFDI 4.0 XML parser, FIEL authentication
- Metrics engine: 50+ financial metrics (Core, Startup, Enterprise)
- Rate limiting, CORS, Helmet security

## Frontend Web (apps/web)
- Next.js 14 with App Router
- Authentication pages: login, register, forgot-password
- Dashboard layout with Sidebar and Header
- Dashboard pages: overview, cash-flow, revenue, expenses, metrics
- Zustand stores for auth and UI state
- Theme support with flash prevention

## Database Package (packages/database)
- PostgreSQL migrations with multi-tenant architecture
- Public schema: plans, tenants, users, sessions, subscriptions
- Tenant schema: sat_credentials, cfdis, transactions, contacts, accounts, alerts
- Tenant management functions
- Seed data for plans and super admin

## Shared Package (packages/shared)
- TypeScript types: auth, tenant, financial, metrics, reports
- Zod validation schemas for all entities
- Utility functions for formatting

## UI Package (packages/ui)
- Chart components: LineChart, BarChart, AreaChart, PieChart
- Data components: DataTable, MetricCard, KPICard, AlertBadge
- PeriodSelector and Skeleton components

## Infrastructure
- Docker Compose: PostgreSQL 15, Redis 7, MinIO, Mailhog
- Makefile with 25+ development commands
- Development scripts: dev-setup.sh, dev-down.sh
- Complete .env.example template

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 11:05:24 +00:00

131 lines
4.0 KiB
Bash
Executable File

#!/bin/bash
# =============================================================================
# Horux Strategy - Script para Detener Servicios de Desarrollo
# =============================================================================
# Este script detiene todos los servicios de Docker del entorno de desarrollo.
#
# Uso:
# ./scripts/dev-down.sh # Detener servicios (mantiene volumenes)
# ./scripts/dev-down.sh --clean # Detener y eliminar volumenes
# ./scripts/dev-down.sh --prune # Limpieza completa (incluye imagenes)
# =============================================================================
set -e
# Colores para output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
# Directorio del proyecto
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
print_header() {
echo ""
echo -e "${BLUE}=============================================${NC}"
echo -e "${BLUE}$1${NC}"
echo -e "${BLUE}=============================================${NC}"
}
print_step() {
echo -e "${GREEN}[✓]${NC} $1"
}
print_warning() {
echo -e "${YELLOW}[!]${NC} $1"
}
# =============================================================================
# Inicio del script
# =============================================================================
cd "$PROJECT_DIR"
print_header "Horux Strategy - Deteniendo Servicios"
# Verificar que Docker esta corriendo
if ! docker info &> /dev/null; then
print_warning "Docker no esta corriendo"
exit 0
fi
# -----------------------------------------------------------------------------
# Opciones de limpieza
# -----------------------------------------------------------------------------
case "$1" in
--clean)
print_warning "Modo limpieza: Se eliminaran los volumenes de datos"
echo ""
read -p "¿Estas seguro? Esto eliminara todos los datos locales (y/N): " confirm
if [[ "$confirm" =~ ^[Yy]$ ]]; then
echo "Deteniendo servicios y eliminando volumenes..."
docker compose down -v
print_step "Servicios detenidos y volumenes eliminados"
else
echo "Operacion cancelada"
exit 0
fi
;;
--prune)
print_warning "Modo limpieza completa: Se eliminaran volumenes e imagenes"
echo ""
read -p "¿Estas seguro? Esto eliminara TODOS los datos locales (y/N): " confirm
if [[ "$confirm" =~ ^[Yy]$ ]]; then
echo "Deteniendo servicios..."
docker compose down -v --rmi local
echo "Limpiando recursos no utilizados..."
docker system prune -f
print_step "Limpieza completa realizada"
else
echo "Operacion cancelada"
exit 0
fi
;;
--help|-h)
echo ""
echo "Uso: ./scripts/dev-down.sh [opcion]"
echo ""
echo "Opciones:"
echo " (sin opcion) Detener servicios, mantener datos"
echo " --clean Detener servicios y eliminar volumenes"
echo " --prune Limpieza completa (volumenes + imagenes)"
echo " --help, -h Mostrar esta ayuda"
echo ""
exit 0
;;
*)
# Comportamiento por defecto: solo detener, mantener volumenes
echo "Deteniendo servicios (los datos se mantienen)..."
docker compose down
print_step "Servicios detenidos"
;;
esac
# -----------------------------------------------------------------------------
# Verificar estado
# -----------------------------------------------------------------------------
echo ""
echo "Estado de contenedores Horux:"
if docker ps -a --filter "name=horux" --format "table {{.Names}}\t{{.Status}}" | grep -q horux; then
docker ps -a --filter "name=horux" --format "table {{.Names}}\t{{.Status}}"
else
echo " No hay contenedores activos"
fi
echo ""
echo "Para volver a iniciar los servicios:"
echo " make dev"
echo " # o"
echo " ./scripts/dev-setup.sh"
echo ""