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>
This commit is contained in:
130
scripts/dev-down.sh
Executable file
130
scripts/dev-down.sh
Executable file
@@ -0,0 +1,130 @@
|
||||
#!/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 ""
|
||||
Reference in New Issue
Block a user