Página que te ayuda a los estudiantes de la UNSA a crear sus horarios.
 
 
 
 
 
Go to file
Araozu 2d2c517299 jenkinsfile 2023-10-26 21:50:39 -05:00
__tests__ Revert to 76f723a097 2023-10-26 21:43:45 -05:00
public Revert to 76f723a097 2023-10-26 21:43:45 -05:00
src Revert to 76f723a097 2023-10-26 21:43:45 -05:00
.eslintrc.yml Mobile login 2022-10-13 12:02:23 -05:00
.gitignore Pagina ver matricula para pc 2022-10-14 19:24:46 -05:00
Jenkinsfile.groovy jenkinsfile 2023-10-26 21:50:39 -05:00
LICENSE Agregar posibilidad de maximizar los horarios. Mejorar colores. 2021-03-03 09:56:22 -05:00
README.md Agregar vista para pagina de inicio. Desactivar vista del horario 2021-08-19 20:11:10 -05:00
index.html Mobile login 2022-10-13 12:02:23 -05:00
package.json Revert to 76f723a097 2023-10-26 21:43:45 -05:00
pnpm-lock.yaml Revert to 76f723a097 2023-10-26 21:43:45 -05:00
tsconfig.json Initial commit 2021-03-01 16:38:39 -05:00
vite.config.ts Add table view to create.html 2022-04-05 18:31:33 -05:00

README.md

Horarios UNSA

Horarios UNSA es una página que permite a los alumnos de la Universidad Nacional de San Agustin crear fácilmente sus horarios, sin que se crucen horas.

https://horarios.araozu.dev

Configuración

Requisitos:

  • Node.js LTS
  • pnpm, npm o yarn
  • Conocimientos de pnpm/npm/yarn, TypeScript, JSX, Solid.js y Aphrodite css

Instalación:

  • Clonar el repositorio
  • Instalar dependencias
  • Ejecutar script start para ejecutar el servidor, o build para compilarlo

Arquitectura

Formato de horarios

La información de los horarios se almacena en public/horarios/ en formato YAML.

El formato es el siguiente:

interface DatosCarrera {
    titulo: string,
    // Contiene información adicional del horario
    descripcion: string,
    // Fecha de creación del horario en formato YYYYMMDD
    version: number,
    // Datos de los años de las carreras
    años: {
        // key es el nombre del año: 1er año, 2do año, etc
        [key: string]: {
            // nombre es el nombre del curso.
            // Este nombre es referencial, no se muestra
            // en el programa
            [nombre: string]: Curso,
        },
    },
}

interface Curso {
    // Nombre completo del curso
    nombre: string,
    // Nombre del curso abreviado
    abreviado: string,
    // Información de las horas de teoria
    Teoria: {
        // grupo es una letra: A, B, C, D
        [grupo: string]: DatosGrupo,
    },
    // Información de las horas de laboratorio
    Laboratorio?: {
        // grupo es una letra: A, B, C, D
        [grupo: string]: DatosGrupo,
    },
}

interface DatosGrupo {
    // Nombre del docente de este grupo
    Docente: string,
    /*
        Las horas del curso en el siguiente formato: DD_HHMM
        DD puede ser Lu, Ma, Mi, Ju, Vi
        Ejm: Ma0850, Vi1640, Ju1550
    */
    Horas: string[]
}

Versiones anteriores

Con Vue.js (legacy):

Con JavaScript puro (descontinuado):