Creá una aplicación full-stack de Pokémon con foco en arquitectura de contenedores. La app debe ser simple pero realista, ideal para aprender Docker, docker-compose y conceptos de sesiones distribuidas con Redis.
- Backend: Node.js + Express (o FastAPI si preferís Python)
- Frontend: HTML + Vanilla JS (o React simple, sin bundler)
- Cache/Sesiones: Redis
- API pública: https://pokeapi.co/api/v2/
GET /api/pokemon/:name→ consulta PokeAPI y guarda en Redis con TTL de 60s (cache)POST /api/session/favorite→ guarda un pokémon favorito en la sesión del usuario (por session ID en cookie o header)GET /api/session/favorites→ devuelve los favoritos de esa sesión desde RedisDELETE /api/session/favorites/:name→ elimina un favorito- Middleware de logging básico (método, ruta, duración)
- Buscador de Pokémon por nombre
- Card con imagen, tipo(s), stats básicos
- Botón "Agregar a favoritos"
- Panel lateral o sección con lista de favoritos de la sesión
- Indicador visual de si el dato vino de cache (Redis) o de la API
- Usado para dos cosas: cache de respuestas de PokeAPI y almacenamiento de sesiones de usuario
- Claves sugeridas:
pokemon:<name>→ cache con TTLsession:<sessionId>:favorites→ lista de favoritos