Descripción
- ViajaYa Frontend es una SPA en React + TypeScript (Vite) con diseño responsivo, PWA opcional y componentes reutilizables para explorar destinos, gestionar agenda y perfiles.
Características
- React + TS + Vite
- PWA (service worker opcional)
- Estilos modulares (SCSS/CSS)
- Hooks de datos y contexto global
- Integración con API Backend
- Docker listo para producción
Arquitectura
- Framework: React + Vite
- Estado: Context/Redux (según carpeta
redux) - Ruteo: React Router
- Build: Vite
- CI/CD: GitHub Actions (si aplica)
Requisitos
- Node.js 18+
- PNPM o NPM
- Docker (opcional)
Variables de entorno (archivo .env)
VITE_API_BASE_URL=https://api.viajaya.comVITE_ENV=productionVITE_MAPS_API_KEY=...(si usa mapas)VITE_SENTRY_DSN=...(opcional)
Instalación y uso (desarrollo)
pnpm install
pnpm devBuild y preview
pnpm build
pnpm previewDocker (producción)
docker build -t viajaya/frontend .
docker run -d --name viajaya-frontend -p 8080:80 -e VITE_API_BASE_URL=https://api.viajaya.com viajaya/frontendEstructura principal
src/components,src/pages,src/hooks,src/context,src/reduxpublic/(assets estáticos, manifest)vite.config.ts
Buenas prácticas
- Rutas basadas en
pages/ .envpor entorno (no commitear secretos)- Lint y formateo antes de commit
- Evitar llamadas directas: usar utils/hooks
PWA
serviceWorkerRegistration.jsymanifest.json- Activar sólo en producción y medir caché
Accesibilidad y SEO
- Etiquetas semánticas
- Metadatos por página
- Imágenes optimizadas (ver
IMAGE_OPTIMIZATION.md)
Despliegue
- Servir
dist/detrás de Nginx/CDN - Configurar
nginx.confpara SPA (fallback aindex.html) - Inyectar
VITE_API_BASE_URLen build o usar variables en runtime con unconfig.json
Licencia
- Ver
LICENSEen el repositorio.