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.
Para utilizar esta API necesitas tener instalado lo siguiente:
Node.js: v20.13.1 o superior.
NVM (Recomendable)
- Clona el repositorio.
git clone https://github.com/Juanlu3095/clinicalahuellaAPI.git
- Instala las dependencias.
npm install
- 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.
- Crea la base de datos.
npm run migrate:mysql
- Crea valores en las tablas.
npm run seed:mysql
- Ejecuta el servidor.
npm run prod
o para desarrollo:
npm run dev
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
Para ver la documentación de la aplicación haz clic aquí.