Skip to content

Arranque local paso a paso

Esta guia explica como levantar el proyecto desde cero en local. Esta pensada para una revision del tutor/profesor sin depender de las credenciales privadas del equipo.

Requisitos previos

  • Git
  • Docker Desktop o Docker con Compose
  • Puerto 8000 libre en la maquina

Antes de seguir, comprueba que variante de Compose tienes:

docker compose version

Si ese comando falla, prueba la variante antigua:

docker-compose version

En los comandos siguientes se usa docker compose. Si tu equipo solo reconoce docker-compose, usa el mismo comando cambiando el espacio por guion.

1. Descargar el repositorio

git clone URL_DEL_REPOSITORIO
cd CI4---PRW---Proyecto---DAJO

Sustituye URL_DEL_REPOSITORIO por la URL real del repositorio.

2. Crear el archivo de entorno local

El archivo .env real no se sube a Git porque contiene secretos. El repositorio incluye una plantilla segura:

cp .env.example .env

Para una prueba local basica se puede dejar asi:

OPENAI_API_KEY=
DJANGO_DEFAULT_SERVICE_ACCOUNT_JSON=

Con esas variables vacias, la aplicacion puede arrancar y mostrar la web, login, dashboard y estructura principal. Lo que no funcionara con datos reales sera lo conectado a servicios externos como OpenAI, Google Search Console o GA4.

3. Levantar el stack con Docker

docker compose up --build

Este comando construye la imagen, instala dependencias, genera los assets del frontend, recompila Tailwind, levanta Django con Gunicorn, PostgreSQL, Redis y el worker.

Si aparece un error como unknown flag: --build, normalmente significa que tu Docker no esta usando el plugin moderno de Compose. En ese caso usa:

docker-compose up --build

Si tambien falla, separa build y arranque:

docker-compose build
docker-compose up

Cuando termine de arrancar, la web estara disponible en:

http://127.0.0.1:8000/

La documentacion/presentacion Zensical queda integrada en:

http://127.0.0.1:8000/docs/

En Docker se genera durante la construccion de la imagen. Si se levanta Django sin Docker y se quiere actualizar esa documentacion, ejecutar:

./scripts/build_zensical_site.sh

4. Crear usuario interno de revision

En otra terminal, dentro de la misma carpeta del proyecto:

docker compose exec web python manage.py bootstrap_dashboard --username tutor --password tutor123 --email tutor@example.com

Credenciales internas:

usuario: tutor
password: tutor123

Este usuario es de tipo interno y puede ver la gestion general del dashboard.

5. Crear usuario cliente de Going International

Si se quiere probar el acceso restringido de cliente:

docker compose exec web python manage.py bootstrap_client_user --site-slug going-international --username going-client --password going12345 --email client@going.international

Credenciales de cliente:

usuario: going-client
password: going12345

Este usuario no es staff y solo tiene acceso al sitio going-international.

6. Probar la aplicacion

Abrir:

http://127.0.0.1:8000/login/

Para revisar todo el dashboard, entrar con tutor / tutor123.

Para revisar la vista limitada de cliente, entrar con going-client / going12345.

7. Parar el proyecto

Para parar los contenedores:

docker compose down

Si se quiere borrar tambien la base de datos local de Docker y empezar completamente de cero:

docker compose down -v

Usar docker compose down -v solo cuando no importe perder los datos locales creados durante la prueba.

8. Comandos utiles de comprobacion

Ver logs del servidor Django:

docker compose logs -f web

Ver logs del worker:

docker compose logs -f worker

Ejecutar comprobaciones de Django:

docker compose exec web python manage.py check

Volver a crear o actualizar las credenciales:

docker compose exec web python manage.py bootstrap_dashboard --username tutor --password tutor123 --email tutor@example.com
docker compose exec web python manage.py bootstrap_client_user --site-slug going-international --username going-client --password going12345 --email client@going.international

9. Que queda limitado sin credenciales reales

  • OPENAI_API_KEY vacia: no se podran ejecutar analisis reales de AI Visibility con OpenAI.
  • DJANGO_DEFAULT_SERVICE_ACCOUNT_JSON vacia: no habra conexion real con Google Search Console o GA4.
  • Datos privados de Going International: no se incluyen en el repositorio por seguridad.

El objetivo de este arranque local es poder revisar la aplicacion, su estructura, las pantallas, el flujo de login, los permisos y la base tecnica sin exponer secretos.