New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

sicpa

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
Package was removed
Sorry, it seems this package was removed from the registry

sicpa

Sistema de Información Curricular del Personal Académico

latest
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

SICPA

Sistema de Información Curricular del Personal Académico

Requerimientos

MySQL 8.0 node 20.11 Linux 22.04

💡 ¿Cómo puedo instalar el proyecto?

  • realiza la clonación del proyecto.
git clone <url-del-repositorio>
  • Accede a la raíz del proyecto e instala las dependencias:
cd <mi-proyecto> && npm install
  • Crea tu base de datos. Es importante que el usuario creado tenga una contraseña mysql_native_password:
ALTER USER 'your_username'@'your_host' IDENTIFIED WITH 'mysql_native_password' BY 'your_password';
  • Copia las variables de entorno del archivo de ejemplo (.env.example) hacia el archivo .env y realiza los ajustes necesarios dentro del archivo .env:
cp .env.example .env
  • Inicia el servidor:
npm run dev
  • Deberás poder visualizar lo siguiente:
App listening on port 3000
  • En la carpeta docs/requests/ se encuentran archivos con la extensión .http en donde aparecen solicitudes http de ejemplo que podrás utilizar para hacer pruebas.

💡 ¿Cuáles son las convenciones que debo de seguir para la escalabilidad del proyecto?

CONVENCION_PARA_DEFINICION_DE_TABLAS.md

CONVENCION_PARA_CREACION_DE_TABLAS.md

Entendiendo el concepto de clasificaciones

💡 ¿Qué extensiones podría utilizar para trabajar en este proyecto?

  • ➡️ Codeium: Es una IA que aprende del proyecto y ayuda a completar código
  • ➡️ Git Graph: Forma visual de ver las ramas y commits de github
  • ➡️ Todo Tree: Lista todos los TODO del proyecto
  • ➡️ Draw.io Integration: Para poder ver los diagramas de docs/diagrams
  • ➡️ Rest client: Para realizar peticiones http desde el mismo proyecto
  • ➡️ Excel Viewer: Para poder visualizar archivos csv dentro de VSCode.

💡 ¿Cómo es el flujo de trabajo del proyecto?

  • Asegurate de estar en la rama principal:
git checkout master
  • Descarga los últimos cambios:
git pull origin master
  • Ejecuta el servidor:
npm run dev
  • Crea una rama feature a partir de la rama master en donde realizarás las modificaciones de código:
git checkout -b feature/<descripcion-de-la-actividad>
  • Una vez que hayas finalizado los ajustes, los subirás a github:
git push origin feature/<descripcion-de-la-actividad>
  • Posteriormente, deberás avisar que la actividad ya fué cargada especificando el nombre de la rama.

Nomenclatura

Para modelos

  • sync
  • from
  • assign

Para controladores

  • create<>Controller
  • update<>Controller
  • delete<>Controller
  • show<>Controller

Para rutas con relaciones

  • PUT - replace (totalmente crearía un nuevo registro, el anterior lo borraría)
  • PATCH - Actualizaría los datos del registro existente y si no, lo crearía (si existen 2 recursos, ver que sucede)
  • POST - Añadiria un nuevo recurso sin importar si existe o no, y no borraría los anteriores

¿Por qué este diseño de base de datos?

  • Las tablas pivote permiten evitar redundancia de información
  • Las clasificaciones permiten mantener más organizados los registros y poder describirlos
  • Implementar tablas pivote permite reutilizar funciones para todos los modelos que estén relacionados con uno especifico, ya que acceden a los mismos campos.
  • Evitamos tener tables con decenas de columnas

Conceptos importantes

Clasificaciones

Las clasificaciones fueron implementadas con el objetivo de poder "etiquetar" datos

Método sync

Método assign

ESTABLECER CONEXIÓN CON BASE DE DATOS

  • Se necesita hacer un puente del servidor de SICPA al servidor de desarrollo
ssh -f -N -L 1433:132.247.28.97:1433 sicpa@132.248.103.9
  • Una vez establecido el puente, se debe establecer un puente desde el servidor local (o también puede ser en el servidor de pruebas) al servidor de desarrollo:
ssh -f -N -L 1433:127.0.0.1:1433 cristian913590@132.248.103.86
  • Una vez establecido, es posible conectarse a la base de datos

TODOS

  • TODO: 🟠 normalizar person por professor para rutas, modelos, includes
  • TODO: 🟠 eliminación de rutas innecesarias
  • TODO: 🟠 hacer el asEntity de personas y academicFormation o en su defecto, normalizar la respuesta de las demas solicitudes
  • TODO: 🟠 Actualización de README.md para ambos proyectos

POR MOSTRAR

  • Importación de jurados - Se validan las cabeceras del archivo excel

  • Verificar que el profesor tenga el cargo 418 que es de la facultad de quimica cuando inicie sesión

  • Generación de correo para recuperación de contraseña

  • Terminos de condiciones de uso

  • El usuario posgrado consulta solamente la sección de investigación.

  • mostrar los logs del ultimo al primero

  • Formación académica - Colocar campo pais

  • En revisiones técnicas no solo se revisan libros, se revisan publicaciones (añadir columna "tipo" y sería el catalogo de https://sicpa.quimica.unam.mx/InvestigacionProductoTipo.php)

  • En la sección de comparativo enviar al usuario al sicpa actual y que no deban de volver a iniciar sesión para ver el comparativo.

  • Revisar que se refresque la información sin tener que dar clic al botón del navegador en Asesorias a profesores

  • Campo de aprobación para las publicaciones, obras y patentes

  • En dirección de trabajo de titulación Colocar el estatus de "egresado"

  • Si es el administrador de la plataforma puede hacer modificaciones

  • Todas las tablas tienen fecha_creacion y fecha_actualizacion

  • La bitacora registra todos las acciones de base de datos

POR HACER

  • Cambiar color de añadir autor, colocar un icono de más

FAQs

Package last updated on 24 Apr 2026

Related posts