Skip to content

Commit 43965cf

Browse files
authored
Merge pull request #46 from muke78/dev
deploy: Mejoras en la estructura de la base de datos, hooks, docuemntacion, mejoramiento estructura de codigo, simplificacion de swagger docs
2 parents 9d5711c + cd9c50d commit 43965cf

122 files changed

Lines changed: 11257 additions & 9060 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/dependency-review.yml

Lines changed: 0 additions & 39 deletions
This file was deleted.

.github/workflows/node.js.yml

Lines changed: 0 additions & 35 deletions
This file was deleted.

.husky/pre-commit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export NVM_DIR="$HOME/.nvm"
1010
echo "🔍 Verificando archivos antes del commit..."
1111
echo "📦 Formateando código con Prettier..."
1212

13-
yarn prettier 'src/**/*.{js,ts,jsx,tsx,json}' server.js package.json --write || exit 1
13+
pnpm prettier 'src/**/*.{js,ts,jsx,tsx,json}' server.js package.json --write || exit 1
1414

1515

1616
# Agregar los archivos modificados después del formateo

.husky/pre-push

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if [ "$BRANCH" = "staging" ]; then
77
echo "📍 Estás en la rama 'staging'. Ejecutando pruebas..."
88
echo "🧪 Ejecutando tests con servidor..."
99

10-
if ! yarn test:with-server; then
10+
if ! pnpm test:with-server; then
1111
echo "❌ Tests fallaron. Corrige los errores antes de hacer commit."
1212
exit 1
1313
fi
965 KB
Binary file not shown.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2024 Erick Miguel Gonzalez Rivera
1+
Copyright (c) 2025 Erick Miguel Gonzalez Rivera
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
44

NOTES.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
## Cambios importantes
44

5-
- Hacer la modularizacion de los usuairos para que trabaje con services y models y controllers
5+
- Verificar testeos del catalogo de activos y de usuarios juntos y hacerlos
6+
- Busar una forma mas segura de pasarle el token a los test
7+
- Probar la funcion de token para el refresco del mismo, y hacer la docuemntacion en postman
8+
- Excluir por aparte el controlador de google para el login, y tenerlo aparte (Sacarlo de los usuario y que tenga su propio espacio)
69

710
## Cambios que se puedan ir haciendo
811

9-
- Hacer la documentacion en postman para posteriormente publicarla
1012
- Ir adecuando el codigo poco a poco el codigo en ingles

README.md

Lines changed: 59 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,50 @@
88

99
## 🔧 Tecnologías Utilizadas
1010

11-
### 🔙 Backend
12-
13-
- **Node.js** 🟢
14-
- **Express.js** 🔵
15-
- **MySQL2** 🐬
16-
- **Google Auth Libary** 🔡 (Login con google)
17-
- **Argon2** 🔒 (Hash de contraseñas)
18-
- **JWT** 🔑 (Autenticación)
19-
- **Jest y Frisby** 🧪 (Pruebas de las API)
20-
- **Swagger & Swagger-UI** 📚 (Documentación de la API)
21-
- **Express Rate Limit** ⏱️ (Limitación de peticiones)
22-
- **Helmet** 🛡️ (Seguridad en headers HTTP)
23-
- **CORS** 🌐 (Permite el acceso entre dominios)
24-
- **Morgan** 🪵 (Middleware de logging)
25-
- **Commander & Inquirer** ⚙️ (Comandos CLI)
26-
- **Formkit Tempo** 🕒 (Fechas en formato entendible y legible)
27-
- **Husky** 🐶 (Hooks de Git)
11+
### 🔙 Backend - Stack y Librerías
12+
13+
Tecnologías y herramientas utilizadas en el backend de este proyecto:
14+
15+
#### 🧠 Core & Framework
16+
- **Node.js** 🟢 – Entorno de ejecución de JavaScript para backend.
17+
- **Express.js** ⚡ – Framework web minimalista para crear APIs y servidores HTTP.
18+
19+
#### 🛡️ Seguridad y Autenticación
20+
- **Argon2** 🔒 – Algoritmo de hashing seguro para contraseñas.
21+
- **jsonwebtoken (JWT)** 🔑 – Autenticación basada en tokens.
22+
- **Google Auth Library** 🔐 – Autenticación con cuentas de Google.
23+
- **helmet** 🛡️ – Configura cabeceras HTTP seguras.
24+
- **express-rate-limit** ⏱️ – Protección contra ataques de fuerza bruta y abuso.
25+
- **cors** 🌐 – Permite solicitudes entre dominios.
26+
27+
#### 🐬 Base de Datos
28+
- **MySQL2** 🐬 – Cliente MySQL para Node.js compatible con promesas.
29+
30+
#### 🪵 Logging y Utilidades
31+
- **morgan** 🪵 – Middleware para registrar peticiones HTTP.
32+
33+
#### 📦 Formateo, Linting y Calidad de Código
34+
- **prettier** ✨ – Formateador de código automático.
35+
- **@trivago/prettier-plugin-sort-imports** 🔀 – Ordenamiento automático de imports.
36+
- **eslint** 🧹 – Linter para mantener un estilo de código consistente.
37+
- **@eslint/js** ⚙️ – Configuración moderna para `eslint`.
38+
- **standard** 📏 – Estilo de código estándar para JavaScript.
39+
40+
#### 🧪 Testing
41+
- **jest** ✅ – Framework de testing.
42+
- **frisby** 🧪 – Librería para pruebas HTTP y APIs REST.
43+
- **@faker-js/faker** 👻 – Generador de datos falsos para pruebas.
44+
45+
#### ⚙️ Automatización y Entorno de Desarrollo
46+
- **nodemon** 🔄 – Reinicio automático del servidor al detectar cambios.
47+
- **concurrently** 🧵 – Ejecuta múltiples comandos en paralelo.
48+
- **dotenv** 🧬 – Carga variables de entorno desde archivos `.env`.
49+
- **husky** 🐶 – Automatiza scripts en Git como pre-commit o pre-push.
50+
51+
#### 📚 Documentación
52+
- **swagger-jsdoc** 📝 – Generador de especificaciones OpenAPI desde JSDoc.
53+
- **swagger-ui-express** 🌐 – Interfaz de usuario Swagger para probar la API.
54+
- **swagger-themes** 🎨 – Temas visuales personalizados para Swagger UI.
2855

2956
---
3057

@@ -49,7 +76,7 @@
4976

5077
## Modelo relacional de la Base de Datos 🗄️
5178

52-
![Administracion de jardin de niños](/assets/Administracion%20de%20jardin%20de%20niños.png)
79+
![Administracion de jardin de niños](/assets/Administracion%20de%20jardin%20de%20niños.svg)
5380

5481
---
5582

@@ -110,7 +137,7 @@ cd Backend_RESTFULL
110137
2. Instalar las dependencias
111138

112139
```
113-
yarn install
140+
pnpm install
114141
```
115142

116143
3. Crear un archivo .env con las siguientes variables:
@@ -128,15 +155,20 @@ JWT_SECRET=your_jwt_secret
128155

129156
---
130157

131-
## 🚀 Comandos
158+
## 📦 Scripts disponibles
159+
160+
Estos son los scripts definidos en el archivo `package.json`, los cuales automatizan tareas comunes de desarrollo y pruebas.
161+
162+
| Script | Comando | Descripción |
163+
|------------------------|---------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------|
164+
| `start` | `nodemon server.js` | Inicia el servidor en modo desarrollo usando `nodemon`. |
165+
| `dev` | `nodemon server.js` | Alias de `start`. Ideal para entornos de desarrollo. |
166+
| `format` | `prettier 'src/**/*.{js,ts,jsx,tsx,json}' server.js package.json --write` | Formatea el código en la carpeta `src`, `server.js` y `package.json` usando Prettier. |
167+
| `prepare` | `husky` | Configura los hooks de Git mediante Husky (se ejecuta automáticamente al instalar dependencias). |
168+
| `test` | `jest` | Ejecuta los tests unitarios utilizando Jest. |
169+
| `test:watch` | `jest --watchAll` | Ejecuta los tests y observa cambios en tiempo real para repetir automáticamente las pruebas. |
170+
| `test:with-server` | `concurrently --kill-others --success first "pnpm dev" "pnpm test"` | Ejecuta el servidor de desarrollo y las pruebas en paralelo. Se detiene si uno de ellos finaliza o falla. |
132171

133-
| Comando | Descripción |
134-
| ----------------- | --------------------------------------------------- |
135-
| `yarn dev` | Inicia el servidor en modo desarrollo 🔄 |
136-
| `yarn start` | Inicia en modo producción 🚀 |
137-
| `yarn format` | Formatea el código con Prettier 💅 |
138-
| `yarn test` | Ejecuta pruebas unitarias con Jest ✅ |
139-
| `yarn test:watch` | Ejecuta pruebas automáticamente al hacer cambios 👀 |
140172

141173
---
142174

-309 KB
Binary file not shown.

assets/Administracion de jardin de niños.svg

Lines changed: 20 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)