https://github.com/juanlu3095/clinicalahuellaapi
API de la Clínica veterinaria La Huella con Node.js, Express y MySQL
https://github.com/juanlu3095/clinicalahuellaapi
csrf-protection express gemini-api gmail-nodemailer google-analytics-api javascript jest-tests jwt-cookie mvc mysql2 nodejs supertest
Last synced: about 1 month ago
JSON representation
API de la Clínica veterinaria La Huella con Node.js, Express y MySQL
- Host: GitHub
- URL: https://github.com/juanlu3095/clinicalahuellaapi
- Owner: Juanlu3095
- Created: 2024-12-24T17:01:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-17T14:58:02.000Z (10 months ago)
- Last Synced: 2025-08-17T16:29:53.977Z (10 months ago)
- Topics: csrf-protection, express, gemini-api, gmail-nodemailer, google-analytics-api, javascript, jest-tests, jwt-cookie, mvc, mysql2, nodejs, supertest
- Language: JavaScript
- Homepage:
- Size: 5.81 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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.
```bash
git clone https://github.com/Juanlu3095/clinicalahuellaAPI.git
```
2. Instala las dependencias.
```bash
npm install
```
3. 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.
4. Crea la base de datos.
```bash
npm run migrate:mysql
```
5. Crea valores en las tablas.
```bash
npm run seed:mysql
```
6. Ejecuta el servidor.
```bash
npm run prod
```
o para desarrollo:
```bash
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:
```bash
if (!origin) {
return callback(null, true)
}
```
Para ejecutar los tests:
```bash
npm run test
```
o para uno en concreto:
```bash
npm run test nombredeltest
```
## Documentación
Para ver la documentación de la aplicación haz clic aquí.