Aplicación de votación en tiempo real que demuestra la integración de un backend Django REST Framework con un frontend Svelte 4, todo orquestado con Docker Compose.
docker compose up --build
Eso es todo. Docker descargará las imágenes, instalará dependencias y levantará ambos servicios.
| Servicio | URL |
|---|---|
| Frontend Svelte | http://localhost:5173 |
| API REST | http://localhost:8000/api/polls/ |
| Django Admin | http://localhost:8000/admin/ |
| Campo | Valor |
|---|---|
| Usuario | admin |
| Contraseña | admin123 |
voting-app/
├── docker-compose.yml # Orquestación de servicios
├── backend/ # Django + DRF
│ ├── config/ # Configuración del proyecto
│ └── polls/ # App de encuestas
│ ├── models.py # Poll y Option (ORM)
│ ├── serializers.py # JSON ↔ modelos (DRF)
│ ├── views.py # Endpoints de la API
│ └── management/ # Comando seed personalizado
└── frontend/ # Svelte 4 + Vite
└── src/
├── App.svelte # Componente raíz + CSS variables
└── lib/
├── PollCard.svelte # Lógica principal + store + polling
├── VoteBar.svelte # Barras de progreso animadas
└── api.js # Comunicación con el backend
$:) — cálculo automático de porcentajeswritable) — estado compartido y reactivofade, fly) — animaciones declarativasonMount — ciclo de vida para carga inicial y pollinglocalStorage — persistencia del voto entre recargasPoll y Option con relaciones FKseed personalizado