Skip to content
MiniLux0Public

About

Guía no oficial de estudiantes para la Facultad de Ciencias de la UNI (FC-UNI). Información sobre cursos, trámites, recursos académicos y más, hecha por y para estudiantes.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Logotipo Facultad de Ciencias — UNI

Plataforma Estudiantil FC-UNI

Facultad de Ciencias — Universidad Nacional de Ingeniería · Lima, Perú
Plataforma web independiente, open-source y de costo $0 creada por y para la comunidad académica de la FC.

GitHub Licencia MIT Stack Costo $0 Datos


Por qué existe este proyecto

La Facultad de Ciencias tiene más de 65 años formando matemáticos, físicos, químicos e informáticos. Pero la información que un estudiante necesita en el día a día — mallas curriculares, prerrequisitos, creditaje, trámites, correos oficiales, reglamentos de evaluación — siempre ha estado dispersa entre:

  • PDFs enterrados en el sitio de la DIRCE que cambian de URL cada semestre.
  • Resoluciones decanales impresas que nadie digitaliza.
  • Grupos de WhatsApp donde la información caduca o se distorsiona.
  • Canales no oficiales que repiten datos sin verificar.

Este proyecto centraliza, estructura y verifica toda esa información en una interfaz rápida, accesible desde cualquier celular, sin login, sin servidores que pagar y sin frameworks que mantener.

No es una página decorativa. Es una herramienta de consulta diaria que le ahorra al cachimbo semanas de desorientación y al alumno de ciclos avanzados horas buscando formularios o prerrequisitos.


Qué contiene

Escuelas Profesionales (escuelas/)

Páginas dedicadas para las 5 carreras con mallas curriculares interactivas, módulos de certificación (Ley N° 30220), directorio de contacto verificado y descarga directa de PDFs oficiales.

Escuela Plan Créditos Ciclos Dataset
Ciencia de la Computación 2018 202 CR 10 data/mallas/computacion.json
Física 2018 ~208 CR 10 data/mallas/fisica.json
Matemática 2018 ~208 CR 10 data/mallas/matematica.json
Química 2018 + N3 2024 ~208 CR 10 data/mallas/quimica.json
Ingeniería Física 2018 ~208 CR 10 data/mallas/ingenieria-fisica.json

Las mallas se renderizan dinámicamente desde JSON (js/mallas.js). Acordeones <details> nativos, iconos SVG vectoriales, resúmenes con formato 5 asignaturas · 21 CR y botones de descarga de los 17 PDFs oficiales (~83 MB).

Guías Estudiantiles (guia/)

Página Qué resuelve
primer-ciclo.html Las 5 asignaturas troncales (BMA01, BMA02, BFI01, BQU01, BIC01), 21 CR, horas semanales, bibliografía, las 3 etapas cronológicas del primer semestre y errores comunes del cachimbo.
tramites.html Paneles navegables para matrícula INTRALU, rectificación de notas, ficha socioeconómica, carné SUNEDU, sustitutorios, constancias, grados y títulos.
campus.html Pabellones R1 y R2, biblioteca (17,800+ volúmenes, catálogo UNI-KOHA), laboratorios, comedores y servicios.
consejos.html Estrategias de estudio, consejos de egresados y movilidad académica (OCRI, becas).
cientificos.html Investigadores y egresados destacados de la FC en universidades internacionales.

Comunidad (comunidad/)

Página Qué resuelve
faq.html FAQ categorizada en acordeones con buscador en vivo que filtra en tiempo real.
grupos.html Directorio de 8+ agrupaciones estudiantiles (ACECOM, AEA, GEFT, GreIC, etc.).
recursos.html Hub de herramientas de software y repositorios de estudio.

Portal del Estudiante (portal.html)

Calculadora de Promedio Ponderado Acumulado (PPA), simulador de tercio/quinto superior y accesos directos a sistemas UNI (DIRCE, ORCE, INTRALU, Aula Virtual).

Biblioteca (biblioteca.html)

Buscador interactivo de solucionarios y exámenes. Consume data/recursos/solucionarios.json (31+ recursos catalogados con la nomenclatura estandarizada en NOMENCLATURA.md).


Arquitectura

fc-uni/
├── css/
│   └── styles.css              ← Design System completo: tokens HSL, modo claro/oscuro,
│                                  Inter + Cormorant Garamond, rejilla fluida (2,200+ líneas)
├── js/
│   ├── components.js           ← Web Components: <fc-header> y <fc-footer> centralizados
│   ├── main.js                 ← Tema claro/oscuro, menú móvil, IntersectionObserver
│   ├── mallas.js               ← Motor de mallas curriculares desde JSON vía fetch()
│   └── comunidad.js            ← Renderizado dinámico de grupos y científicos
│
├── data/
│   ├── mallas/                 ← 5 JSON (450+ asignaturas: código, créditos, HT/HP, prereqs)
│   ├── documentos/             ← 17 PDFs oficiales organizados por escuela
│   ├── recursos/               ← solucionarios.json (31+ exámenes catalogados)
│   └── comunidad/              ← grupos.json, cientificos.json
│
├── escuelas/                   ← Páginas de las 5 carreras + hub + template
├── guia/                       ← 5 guías estudiantiles + hub + template
├── comunidad/                  ← FAQ, grupos, recursos
├── assets/                     ← Imágenes del campus, logos, favicons
├── templates/                  ← Plantillas HTML reutilizables
│
├── index.html                  ← Landing page institucional
├── portal.html                 ← Calculadora PPA + accesos a sistemas UNI
├── acerca.html                 ← Manifiesto del proyecto
├── biblioteca.html             ← Buscador de solucionarios
├── descentralizacion.html      ← Principios de resiliencia y hosting $0
│
├── GOBERNANZA.md               ← Protocolo de relevo generacional decenal
├── NOMENCLATURA.md             ← Estándar: CODIGO_EVAL_PERIODO_ESTADO.pdf
└── .gitignore

Por qué se tomaron estas decisiones

Decisión Motivo
HTML/CSS/JS vanilla, cero frameworks React o Next.js requieren npm install, un build y un mantenedor que entienda el toolchain. Cuando se gradúe, el proyecto muere. HTML puro se edita con Bloc de Notas.
Web Components (<fc-header>, <fc-footer>) Header y footer definidos en 1 archivo (components.js). Las 23 páginas heredan automáticamente. Cambiar un enlace = editar 1 archivo, no 23.
Datos en JSON plano Las mallas viven en data/mallas/[escuela].json. Para agregar una carrera nueva: crear un JSON y declarar un <div data-escuela="nombre">. Sin tocar JavaScript.
Hosting estático gratuito GitHub Pages, Cloudflare Pages o Netlify. $0/mes. Sin backend, sin BD, sin parches de seguridad.
CSS custom properties (HSL) Un solo styles.css con --accent, --bg, --text. El toggle cambia [data-theme="dark"] y localStorage lo persiste.

Escalabilidad

Agregar una escuela o carrera nueva

  1. Crear data/mallas/nueva-escuela.json con el schema:
    {
      "escuela": "Nombre",
      "codigo_escuela": "XX",
      "plan": "2025",
      "creditos_totales": 210,
      "ciclos": [
        {
          "ciclo": 1,
          "cursos": [
            { "codigo": "BMA01", "nombre": "Cálculo Diferencial", "creditos": 5, "ht": 3, "hp": 3, "prereq": [] }
          ]
        }
      ]
    }
  2. Crear escuelas/nueva-escuela.html basándose en templates/escuela_template.html.
  3. Agregar el enlace en js/components.js.

Agregar solucionarios

Editar data/recursos/solucionarios.json siguiendo NOMENCLATURA.md:

BMA01_PC1_2025-1_SOL.pdf → Cálculo Diferencial, PC1, 2025-1, Solucionario

Agregar agrupaciones o científicos

Editar data/comunidad/grupos.json o cientificos.json. El renderizador (comunidad.js) genera las tarjetas automáticamente.

Actualizar la navegación

Editar únicamente js/components.js. Las 23 páginas lo heredan.


Qué falta por implementar

Pendientes inmediatos

Problema Archivo Detalle
Buscador de trámites sin funcionalidad guia/tramites.html El <input type="search"> está renderizado pero no tiene controlador JS para filtrar paneles.
Navegación por pestañas incompleta guia/tramites.html Las pestañas de trámites no activan/desactivan paneles por clic.
Media query redundante css/styles.css L128-155 @media (prefers-color-scheme: dark) redefine variables que ya gestiona [data-theme="dark"].
Carpeta assets/icons/ vacía assets/icons/ Reservada para SVGs pero los iconos están inline.

Fase 2 — Herramientas interactivas

  • Calculadora de PPS y PPA: Lógica de cálculo real con peso por créditos y sistema F/G UNI.
  • Buscador Global de Cursos (Omnibox): Buscar cualquier asignatura por código (BMA01, CC212) o nombre en los 5 JSON simultáneamente.
  • Visor de Grafo de Seriación (DAG): Visualización con D3.js o Mermaid.js de cadenas completas de prerrequisitos.

Fase 3 — Funcionalidades avanzadas

  • Simulador de Horarios: Armar grillas sin cruces antes de inscripción en INTRALU.
  • Service Worker (PWA): Caché offline para consultar mallas y guías sin conexión en el campus.
  • Solucionarios Comunitarios: Sistema para subir enunciados y soluciones vía GitHub Discussions o PRs automáticos.
  • Filtro avanzado en Biblioteca: Selector por semestre, tipo de evaluación (PC, EP, EF, SUB) y escuela.

Fase 4 — Largo plazo

  • Página de Posgrados: Maestrías y doctorados en Física, Matemática, Química y Computación.
  • Sección Alumni: Red de contacto con egresados para mentoría y becas OCRI.
  • i18n (español/inglés): Para las secciones de escuelas y mallas, útil para acreditación ABET.

Cómo apoyar

Si eres estudiante de la FC

  • Sube solucionarios: Edita data/recursos/solucionarios.json con el formato de NOMENCLATURA.md. Abre un PR.
  • Corrige datos: ¿Prerrequisito mal? ¿Cambió el director? ¿Un correo no funciona? Abre un Issue con la fuente oficial.
  • Actualiza la FAQ: Agrega preguntas que todo cachimbo hace y no están en comunidad/faq.html.

Si eres de una agrupación (ACECOM, AEA, GEFT, etc.)

  • Actualiza contacto en data/comunidad/grupos.json.
  • Agrega tu logotipo en assets/images/grupos/.

Si sabes programar

  • Implementa el buscador de trámites en guia/tramites.html.
  • Conecta la calculadora de PPA en portal.html.
  • Construye el visor de grafos de prerrequisitos.
  • Revisa los Issues abiertos.

Pasos para contribuir

git clone https://github.com/TU-USUARIO/fc-uni.git
git checkout -b feat/calculadora-ppa
# Haz tus cambios
git commit -m "feat(portal): implementar cálculo PPA"
git push origin feat/calculadora-ppa
# Abre un PR contra main

Convención de commits: tipo(alcance): descripción

Prefijo Uso
feat Nueva funcionalidad
fix Corrección de dato o bug
docs Solo documentación
refactor Reestructuración sin cambiar funcionalidad

Documentación interna

Documento Propósito
GOBERNANZA.md Protocolo de relevo generacional decenal. Cómo se transfiere el mantenimiento para que sobreviva a la graduación de sus creadores.
NOMENCLATURA.md Estándar obligatorio para archivos académicos: CODIGO_EVAL_PERIODO_ESTADO.pdf.
documentos/contexto-proyecto.md Mapeo técnico de los 23 HTML, 4 scripts JS, datasets JSON y dependencias.
documentos/auditoria-pdfs-y-arquitectura.md Auditoría de los 17 PDFs oficiales y plan de desacoplamiento datos-interfaz.

Datos institucionales verificados

Dato Valor
Correo de Escuelas (área 2) escuelas_fc2@uni.edu.pe
Correo de Escuelas (área 1) escuelas_fc1@uni.edu.pe
Mesa de Partes FC mesadepartes_fc@uni.edu.pe
Decano (2023–) Dr. Heriberto A. Sánchez Córdova
Acreditación ABET Ingeniería Física
Biblioteca FC 17,800+ volúmenes · Catálogo UNI-KOHA
Instituto de Investigación IIFUNI · 20+ grupos activos

Licencia

Distribuido bajo la Licencia MIT. Software libre creado para la comunidad universitaria de la Facultad de Ciencias de la UNI.

El contenido curricular (planes de estudio, mallas, resoluciones) es propiedad intelectual de la Universidad Nacional de Ingeniería y se reproduce con fines informativos y educativos.


«Los estudiantes se gradúan, la ciencia y la comunidad permanecen.»
Facultad de Ciencias — Universidad Nacional de Ingeniería

Creado por @MiniLux0 · Lima, Perú

About

Guía no oficial de estudiantes para la Facultad de Ciencias de la UNI (FC-UNI). Información sobre cursos, trámites, recursos académicos y más, hecha por y para estudiantes.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages