The official frontend for PyDay Chile - A community-driven Python conference showcasing Chile's tech talent through talks, workshops, and networking events across multiple cities.
- Dynamic content routing for different conference locations
- Interactive map showing participating cities
- City-specific schedules and venue information
- Responsive image gallery with lazy loading
- Full-screen modal viewer with keyboard navigation
- Organized historical content by year/location
- Embedded video section with responsive players
- Next.js 13+ App Router implementation
- Optimized WebP image delivery
- Responsive UI with Tailwind CSS
- Accessibility-first components (ARIA labels, keyboard nav)
- Speaker profiles with social links
- Interactive schedule with filtering
- Sponsor showcase with tiered visibility
- Registration form with validation
pyday-frontend/
├── public/ # Optimized static assets
│ └── images/ # Organized media library
│ ├── gallery/ # Event photos by year/city
│ ├── speakers/ # Speaker headshots
│ └── sponsors/ # Partner logos
│
├── src/
│ ├── app/ # Next.js 13+ routing
│ ├── components/ # Reusable UI elements
│ ├── data/ # Content management
│ └── lib/ # Utilities & helpers
│
└── tailwind.config.js # Custom design system
Feature | Implementation | Benefit |
---|---|---|
Modern Formats | WebP conversion | 30% smaller than JPEG |
Responsive SrcSet | Next.js Image component | Device-appropriate sizes |
Lazy Loading | Intersection Observer API | Faster initial load |
Blur Placeholders | Dynamic SVG generation | Smooth loading experience |
- WCAG 2.1 AA compliant components
- Semantic HTML structure
- Keyboard-navigable interfaces
- Reduced motion preferences support
- ARIA labels for interactive elements
[email protected]
: React framework for production[email protected]
: Utility-first CSS[email protected]
: Smooth animations
Controla la visibilidad de funcionalidades mediante variables de entorno:
# .env.local
NEXT_PUBLIC_FEATURE_REGISTRATION="false" # Formulario de registro general
NEXT_PUBLIC_FEATURE_SPONSORS="true" # Sección completa de patrocinios
NEXT_PUBLIC_FEATURE_SPONSOR_FORM="false" # Formulario de patrocinio específico
Variable | Descripción | Valores Válidos |
---|---|---|
NEXT_PUBLIC_FEATURE_REGISTRATION |
Habilita formulario de registro principal | true /false |
NEXT_PUBLIC_FEATURE_SPONSORS |
Muestra sección completa de patrocinios | true /false |
NEXT_PUBLIC_FEATURE_SPONSOR_FORM |
Activa formulario de contacto para patrocinios | true /false |
- Configurar variables en
.env.local
(usartrue
/false
) - Reiniciar servidor después de cambios
- Los CTAs alternativos se mostrarán automáticamente cuando:
- Una funcionalidad está deshabilitada (
false
) - Existe un link externo configurado en
cityData.js
- Una funcionalidad está deshabilitada (
// Ejemplo en src/data/cities.js
valparaiso: {
talkProposalLink: "https://..." // URL válida habilita CTA automático
}
Nota: Los botones alternativos (CTAs) se muestran solo cuando:
- La variable correspondiente está en
false
- Existe un link configurado en los datos de la ciudad
Cambios realizados:
- Sección dedicada a gestión de features
- Tabla clara de variables
- Explicación del comportamiento automático
- Ejemplo práctico de configuración
- Guía visual para no técnicos
Version final del archivo .env.local:
# CONFIGURACIÓN DE FUNCIONALIDADES
# Valores permitidos: "true" (activado) | "false" (desactivado)
NEXT_PUBLIC_FEATURE_REGISTRATION="false"
NEXT_PUBLIC_FEATURE_SPONSORS="true"
NEXT_PUBLIC_FEATURE_SPONSOR_FORM="false"
# URL BASE DEL SITIO (no modificar en desarrollo)
NEXT_PUBLIC_SITE_URL="http://localhost:3000"
We welcome community contributions! Please see our Contribution Guidelines and review our Photography Style Guide for asset submissions.
License: Apache 2.0 (See LICENSE)
Maintainer: PyDay Chile Tech Committee
📧 [email protected]