#!/bin/bash

# Asegurar que el script se ejecute desde el directorio del proyecto
cd "$(dirname "$0")"

# Nombre del entorno virtual
VENV_DIR=".venv"

# Verificar si el entorno virtual existe
if [ ! -d "$VENV_DIR" ]; then
    echo "El entorno virtual no existe. Creándolo con uv..."
    uv venv $VENV_DIR
    if [ $? -ne 0 ]; then
        echo "Error al crear el entorno virtual con uv."
        exit 1
    fi
fi

# Activar el entorno virtual
source "$VENV_DIR/bin/activate"

echo "--------------------------------------------------"
echo "  INICIANDO EL PROYECTO"
echo "--------------------------------------------------"

# 1. Instalar dependencias
echo "[1/3] Instalando dependencias con uv..."
uv pip install -r requirements.txt
if [ $? -ne 0 ]; then
    echo "Error al instalar las dependencias."
    exit 1
fi
echo "      Ok."

# 2. Correr migraciones
echo "[2/3] Ejecutando migraciones..."
python manage.py migrate
if [ $? -ne 0 ]; then
    echo "Error al ejecutar las migraciones."
    exit 1
fi
echo "      Ok."

# 3. Ejecutar la aplicación
echo "[3/3] Iniciando el servidor de desarrollo..."
echo "      Accede a http://127.0.0.1:8000/"
echo "--------------------------------------------------"
python manage.py runserver
