Skip to content

danigonzser/proyecto-tfg

Repository files navigation


Markdownify
Trabajo de Fin de Grado: Memes para todos

Plataforma web para la creación, edición y almacenamiento en línea de memes

Gitter GitHub deployments GitHub License GitHub Release NPM Type Definitions GitHub package.json prod dependency version GitHub package.json prod dependency version Static Badge Static Badge

  • Tutor: Juan Julián Merelo Guervós @JJ
  • Autor: Daniel González Serrano @danigonzser

DocumentaciónPuesta en marchaDesarrolloLicencia

Documentación

La documentación está realizada con Static Badge por lo tanto es necesario compilar la memoria para generar el archivo PDF.

Primero, hay que comprobar la ortografía y gramática con TeXtidote para ello:

cd doc
textidote proyecto.tex > /ruta/donde/queremos/el/informe/report.html

Lo siguiente es compilar la memoria. Para ello, solo haría falta instalar en nuestra distribución la utilidad make:

sudo apt-get install make

Seguidamente, compilamos la memoria:

make

En el archivo Makefile se especifican e instalan las dependencias necesarias para compilar la memoria, estas son:

  • texlive
  • texlive-fonts-extra
  • texlive-lang-spanish

Puesta en marcha

Para simplemente, poder visualizar el proyecto en http://localhost:3000/

Pre-requisitos

Además, se debe crear un fichero .env con los datos de la instalación local de su PostgreSQL siguiendo la siguiente plantilla:

DATABASE_URL="postgresql://postgres:12345@localhost:5432/nombre-bbdd"
POSTGRES_PRISMA_URL="postgresql://postgres:12345@localhost:5432/nombre-bbdd"
POSTGRES_URL_NON_POOLING="postgresql://postgres:12345@localhost:5432/nombre-bbdd"

Tras tener PostgreSQL instalado y establecer variables de entorno:

pnpm install && pnpm dlx prisma generate && pnpm dlx prisma migrate && pnpm run build && pnpm run start

Esta serie de ejecuciones de pnpm genera el cliente de Prisma ORM, hace las migraciones correspondientes para establecer la base de datos, construye el proyecto y por último inicia el servidor que sirve el proyecto.

Tras esto debería poder visualizar el proyecto en http://localhost:3000/

Desarrollo

Para el desarrollo también se requieren los pre-requisitos de la puesta en marcha.

Además se debe realizar la instalación de dependencias:

pnpm install

Requisitos de estilo de código

Existe una configuración recomendada para ejecutar las comprobaciones de estilo en Visual Studio Code de forma automática que es la siguiente:

"[typescript]": {
  "editor.defaultFormatter": "vscode.typescript-language-features",
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  },
},

"[typescriptreact]": {
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  },
  "editor.defaultFormatter": "vscode.typescript-language-features"
},

"eslint.validate": [
  "typescriptreact"
],

"[prisma]": {
  "editor.formatOnSave": true,
},

Aún así, si se desea correr el lint por consola:

pnpm run lint

Warning

Si se desea colaborar en el proyecto es obligatorio el uso de linter.

Tests

Existen tests para comprobar la funcionalidad. Estos deben pasar para realizar un despliegue o mezclar la rama en master. Para comprobarlos en local:

pnpm run test

Si se desean ejecutar a través de la interfaz de Cypress:

pnpm run tcy:open

Desarrollo de código

A la hora del desarrollo no es practicable construir el código cada vez que se hace un cambio, para ello existe el comando dev que inicia el proyecto en modo desarrollo que escucha los cambios que se hagan y se reinicia en consecuencia. Para ello:

pnpm run dev

Tras esto debería poder visualizar el proyecto en http://localhost:3000/

Licencia

Este proyecto tiene la licencia GPLv3.

GPLv3 License