El archivoDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/danitocsc/transporte-unrc-web-public/llms.txt
Use this file to discover all available pages before exploring further.
web/types/transport.ts centraliza todas las definiciones de tipos del dominio de transporte. Los tipos se dividen en dos categorías: tipos públicos de API que viajan del servidor al cliente (y pueden aparecer en JSON serializado), y tipos internos que representan registros de la base de datos del sistema de administración y no se exponen en la vista pública.
Ningún tipo de este archivo debe importarse en componentes con
'use client' usando import type — las importaciones de tipo son borradas en tiempo de compilación y no generan código en el bundle del cliente.Archivo fuente completo
Referencia detallada
Turno
SurveyRecord.turno para garantizar que solo se almacenen valores válidos. En PublicStop.turno y PublicPoint.turno se usa string en su lugar para mayor flexibilidad en la serialización JSON.
PublicPoint
Representa un punto geolocalizados anonimizado de un estudiante encuestado. Los campos con el sufijo _publica contienen coordenadas aproximadas (desplazadas o redondeadas) para proteger la privacidad del domicilio real del estudiante.
Identificador único del punto. No corresponde directamente a la matrícula del estudiante — es un ID generado durante el proceso de anonimización.
Nombre de la colonia de origen declarada por el estudiante.
Turno académico del estudiante. Puede ser
'Matutino', 'Intermedio' o 'Vespertino'.Cadena con los días de asistencia declarados (por ejemplo,
"Lunes, Miércoles, Viernes").Nombre de la carrera que cursa el estudiante.
Latitud pública (anonimizada) del punto de origen.
Longitud pública (anonimizada) del punto de origen. Usada por
DashboardMap para construir el GeoJSON del heatmap.Método de geocodificación utilizado para obtener las coordenadas (por ejemplo,
"colonia_centroid" o "manual").Comentario o sugerencia del estudiante, ya procesado para anonimización (sin información personal identificable).
MapPayload
Payload completo del mapa de calor, generado en el servidor y servido como public/data/map_points.json.
Timestamp ISO 8601 de cuándo se generó el archivo. Útil para mostrar la fecha de actualización del informe.
Coordenadas del centro del mapa en formato
[lat, lng]. DashboardMap las invierte a [lng, lat] al inicializar MapLibre GL.Bounding box sugerido para encuadrar todos los puntos:
[[latSur, lngOeste], [latNorte, lngEste]]. Disponible para futuras implementaciones de fitBounds.Arreglo de puntos geolocalizados anonimizados. En producción contiene aproximadamente 190 puntos de los 192 registros totales con coordenadas válidas.
SummaryPayload
Payload completo del informe de demanda, generado en el servidor y servido como public/data/summary.json. Es el tipo de retorno principal de loadSiteData().
Nombre de la institución destinataria del informe.
Título del informe para los encabezados de la página
/informe.Timestamp ISO 8601 de generación.
Datos del autor del informe.
Información del proveedor de hosting de la plataforma.
URLs de descarga del informe en formato PDF y CSV.
Total de respuestas recopiladas en la encuesta (192 en la iteración actual).
Número de respuestas con coordenadas válidas para el mapa de calor.
Porcentaje de respuestas geolocalizadas sobre el total.
Número de colonias únicas representadas en la muestra.
Nombre de la colonia con mayor número de estudiantes encuestados.
Turno con mayor número de estudiantes encuestados.
Distribución de respuestas por turno académico. Alimenta el
ChartCard de turnos.Distribución de respuestas por días de asistencia. Alimenta el
ChartCard de días.Top colonias de origen. Alimenta el
ChartCard de colonias con layout="vertical".Resumen narrativo de las respuestas sobre tarifa sugerida.
Temas principales identificados en los comentarios abiertos, con icono emoji, etiqueta y conteo.
SeriesRow
[key: string] permite campos adicionales sin romper la compatibilidad de tipos. Usado directamente por ChartCard como tipo de su prop data.
Etiqueta de la categoría (nombre del turno, día o colonia).
Número absoluto de respuestas en esta categoría.
Porcentaje relativo sobre el total de respuestas.
ChartCard lo muestra con toFixed(1).SurveyRecord
SurveyRecord se transforman en PublicPoint y SummaryPayload en el proceso de generación de los archivos JSON estáticos. Los campos opcionales marcados con ? están reservados para iteraciones futuras de la encuesta.
SurveyRecord solo existe en el sistema de administración. La aplicación pública (web/) nunca importa ni lee registros de este tipo — solo consume los payloads ya procesados MapPayload y SummaryPayload.SuggestionWord y SuggestionHighlight
SuggestionWord alimenta visualizaciones de nube de palabras. SuggestionHighlight representa citas destacadas de comentarios abiertos con su colonia y turno de contexto.