Skip to content

Juanlu3095/clinicalahuellaAPI

Repository files navigation

Clínica La Huella API

Clínica La Huella API es una API Rest que utiliza node.js, Express y MySQL para ofrecer una solución para el backend de una clínica ficticia de veterinaria.

Requisitos

Para utilizar esta API necesitas tener instalado lo siguiente:

Node.js: v20.13.1 o superior.
NVM (Recomendable)

Instalación

  1. Clona el repositorio.
  git clone https://github.com/Juanlu3095/clinicalahuellaAPI.git
  1. Instala las dependencias.
  npm install
  1. Crea tu archivo con las variables de entorno.
  • Renombra el archivo .env.example a .env y rellénalo con tu configuración. Las variables con '' son strings y el resto números.
  • Para las variables propias de la aplicación, rellena PORT, DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_DATABASE, DB_DATABASE_TEST, POOL_CONNECTIONLIMIT, FIRST_USER_EMAIL, FIRST_USER_PASS, BSALT y JWT_SECRET.
  • GOOGLE_GEMINI_API_TOKEN es el token de la API de Gemini AI.
  • Para nodemailer y Gmail API, MAIL_AUTH_USER, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET y GOOGLE_REFRESH_TOKEN se obtienen de OAuth2Client de la API de Google en https://console.developers.google.com/ y https://developers.google.com/oauthplayground/.
  • GOOGLE_CLIENT_SERVICE_EMAIL, GOOGLE_CLIENT_SERVICE_PRIVATE_KEY y PROPERTY_ID para Google Analytics obtenibles también en https://console.developers.google.com/ con una cuenta de servicio.
  1. Crea la base de datos.
  npm run migrate:mysql
  1. Crea valores en las tablas.
  npm run seed:mysql
  1. Ejecuta el servidor.
  npm run prod

o para desarrollo:

  npm run dev

Testing

La API utiliza Jest y Supertest para realizar las pruebas, además de valerse de las migraciones y los seeders para crear la base de datos, sus tablas y algunos valores con los que trabajar de forma automatizada. Antes de ejecutarlos es necesario descomentar el siguiente código en middleware/cors.js:

  if (!origin) {
    return callback(null, true)
  }

Para ejecutar los tests:

  npm run test

o para uno en concreto:

  npm run test nombredeltest

Documentación

Para ver la documentación de la aplicación haz clic aquí.

Releases

No releases published

Packages

No packages published