Este repositorio refleja la aplicación web de Nexus, el autogestión no oficial de la UTN FRVM.
Si encuentras mejoras, decides colaborar al proyecto o consideras un cambio necesario, te invito a forkear el proyecto para crear tu propia PR o crear un nuevo issue donde pueda darle seguimiento al problema.
El proyecto asume el uso núcleo de el wrapper de autogestión (tampoco oficial) para su funcionamiento correcto.
Antes de comenzar, debes tener lo siguiente:
- Un servidor de MongoDB (local, virtualizado o hosteado)
- Cuenta en UploadThing
Para ejecutar el proyecto, necesitas Node v20 y yarn. Sigue esta guía para instalarlos.
- Clonar el proyecto localmente.
$ git clone https://github.com/punteroo/autogestion-next.git
$ cd autogestion-next
- (Si no tienes Node) Instalar
nvm
para administrar tus versiones de Node. - (Si ya tienes Node) Instalar
yarn
como package manager global.
$ npm i --global yarn
$ yarn --version
1.22.19
En caso de que el comando yarn no funcione, utilizar npx yarn
- Instalar las dependencias del proyecto.
# Asegurarse de estar parado en el root del proyecto.
$ pwd
/home/puntero/autogestion-next
# Instalar dependencias.
$ yarn install
- Modificar el archivo
.env
para rellenar tus credenciales privadas. El resto las puedes dejar como están.
# Connection string de tu MongoDB
MONGODB_URI="mongodb://user:password@host:port/dbName"
# API key de tu proyecto de UploadThing
UPLOADTHING_SECRET="sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
- Ejecutar localmente con
yarn dev
Opcionalmente, ajusta las otras variables de entorno para tus necesidades.
Puedes desplegar el proyecto en cualquier ambiente productivo virtualizado. Utiliza el Dockerfile
provisto en el proyecto para crear tu propia imágen y ejecutar el contenedor en tu proveedor de preferencia (Cloud Run, Vercel, AWS EC2, etcétera).
Habilitar standalone
Next Output
Importante: Editar next.config.js
y establecer el output
en standalone
. Esto hace que el build de la app sea unitaria y no dependa del scripting de Next para correr el aplicativo completo. Más información en el link del header.
/** @type {import('next').NextConfig} */
const nextConfig = {
output: 'standalone',
experimental: {
serverActions: true,
},
};
module.exports = nextConfig;
$ cd autogestion-next
$ docker build -t autogestion-next .
# Proceso de build de imágen
# ...
# Crear un contenedor nuevo
$ docker run --name autogestion -p 3000:3000 -e NODE_ENV=production -e MONGODB_URI="mongodb://user:password@host:port/dbName" -e UPLOADTHING_SECRET="sk_live_xxxx" autogestion-next
Inicialmente iba a dejar la aplicación open-source, pero debido a unos claims me vi forzado a privatizarla. Actualmente puedes utilizarla, aunque no tendré obligación de hacerme responsable por su mal utilización.
La aplicación no administra, gestiona, guarda ni utiliza los datos de sus usuarios bajo ninguna norma. Todos los datos son utilizados por la institución oficial por medio de su web service público.
No soy responsable por ningún tipo de daño ocasionado a la institución ni a su Web Service utilizando esta aplicación. La aplicación no aparenta ser propia de la institución, ni tampoco lo es. Este es un proyecto "for fun" y no pasa de ello.
Si decides usarlo de forma malintencionada, tú eres responsable de lo que haces.