Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
0e36c4a
fix(package): Se cambia de yarn a pnpm, y la version de node a la v22…
muke78 Jul 7, 2025
2576d14
ci(overrides): Dependency review y Node.js CI Build correcion
muke78 Jul 7, 2025
a37e0bf
ci(delete): Eliminacion de workflows, para las dependecy reviews y No…
muke78 Jul 7, 2025
5370eb1
Merge pull request #35 from muke78/changePackageManager
muke78 Jul 7, 2025
168a31d
refactor(assets): Se organiza mejor la logica de los endpoints de el …
muke78 Jul 8, 2025
de0600a
refactor: Mejora en el endpint de catalogo de activos
muke78 Jul 12, 2025
7ba049b
Merge pull request #36 from muke78/refactor/catalog/cat_assets
muke78 Jul 12, 2025
04fa71a
refactor: Mejora en el endpoint de usuarios se estandarizan funciones
muke78 Jul 12, 2025
c09820f
Merge pull request #37 from muke78/refactor/user_architecture
muke78 Jul 12, 2025
88dc5d9
refactor: Cambio de configuraciones para los proccess env
muke78 Jul 12, 2025
6d0cc58
Merge pull request #38 from muke78/refactor/connection_db
muke78 Jul 12, 2025
773fa5a
fix: Cambio de lowerCase a UpperCase para el query de eliminar usuarios
muke78 Jul 12, 2025
7a722c5
docs(simplify): Se asignan tareas y se quita docuemntacion inecesaria
muke78 Jul 12, 2025
383ce27
feat(inventories): Se modulariza el endpoint completo de inventarios
muke78 Jul 13, 2025
2b30937
Merge pull request #39 from muke78/refactor/catalog/cat_invetory
muke78 Jul 14, 2025
e12e605
refactor(supplies): Se modulariza el endpoint completo de suministros
muke78 Jul 14, 2025
ad15747
fix(status): Se corrigen estatus para los catalogos correspondientes …
muke78 Jul 15, 2025
9e8e801
Merge pull request #40 from muke78/refactor/catalog/cat_supplies
muke78 Jul 15, 2025
68d7ad4
fix:(schemas): Nuevo script de base de datos y docuemntacion en svg d…
muke78 Jul 15, 2025
8bd6732
fix:(change): Se cambia y se pulen datos nulos en la base de datos, c…
muke78 Jul 15, 2025
f6c3569
Merge pull request #41 from muke78/fix/new_schema_database_script
muke78 Jul 15, 2025
eaf7792
fix:(restructuring): Cambios de esquemas de la absde de datos pdf y i…
muke78 Jul 15, 2025
fc4d038
fix(users): Se restructura todos los endpoints de usuarios por la nue…
muke78 Jul 17, 2025
78bf173
Merge pull request #42 from muke78/fix/restructuring_users_endpoints
muke78 Jul 17, 2025
e882eb8
fix(assets): Se restructura todos los enpoints del catalogo y correcc…
muke78 Jul 18, 2025
37f37da
fix(names): Se corrigen nombres en constantes para eliminacion de un …
muke78 Jul 24, 2025
c503c7a
Merge pull request #43 from muke78/fix/restructuring_assets_endpoints
muke78 Jul 24, 2025
b976114
fix(supplies): Se restructura el catalogo completo de suministros y s…
muke78 Jul 24, 2025
737b953
Merge pull request #44 from muke78/fix/restructuring_supply_endpoints
muke78 Jul 24, 2025
24ad094
fix(inventory): Se restructura el catalogo completo de inventarios y …
muke78 Jul 24, 2025
cd9c50d
Merge pull request #45 from muke78/fix/restructuring_inventory_endpoints
muke78 Jul 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 0 additions & 39 deletions .github/workflows/dependency-review.yml

This file was deleted.

35 changes: 0 additions & 35 deletions .github/workflows/node.js.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export NVM_DIR="$HOME/.nvm"
echo "🔍 Verificando archivos antes del commit..."
echo "📦 Formateando código con Prettier..."

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


# Agregar los archivos modificados después del formateo
Expand Down
2 changes: 1 addition & 1 deletion .husky/pre-push
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ if [ "$BRANCH" = "staging" ]; then
echo "📍 Estás en la rama 'staging'. Ejecutando pruebas..."
echo "🧪 Ejecutando tests con servidor..."

if ! yarn test:with-server; then
if ! pnpm test:with-server; then
echo "❌ Tests fallaron. Corrige los errores antes de hacer commit."
exit 1
fi
Expand Down
Binary file modified Administracion de Jardin de niños.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2024 Erick Miguel Gonzalez Rivera
Copyright (c) 2025 Erick Miguel Gonzalez Rivera

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:

Expand Down
6 changes: 4 additions & 2 deletions NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

## Cambios importantes

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

## Cambios que se puedan ir haciendo

- Hacer la documentacion en postman para posteriormente publicarla
- Ir adecuando el codigo poco a poco el codigo en ingles
86 changes: 59 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,50 @@

## 🔧 Tecnologías Utilizadas

### 🔙 Backend

- **Node.js** 🟢
- **Express.js** 🔵
- **MySQL2** 🐬
- **Google Auth Libary** 🔡 (Login con google)
- **Argon2** 🔒 (Hash de contraseñas)
- **JWT** 🔑 (Autenticación)
- **Jest y Frisby** 🧪 (Pruebas de las API)
- **Swagger & Swagger-UI** 📚 (Documentación de la API)
- **Express Rate Limit** ⏱️ (Limitación de peticiones)
- **Helmet** 🛡️ (Seguridad en headers HTTP)
- **CORS** 🌐 (Permite el acceso entre dominios)
- **Morgan** 🪵 (Middleware de logging)
- **Commander & Inquirer** ⚙️ (Comandos CLI)
- **Formkit Tempo** 🕒 (Fechas en formato entendible y legible)
- **Husky** 🐶 (Hooks de Git)
### 🔙 Backend - Stack y Librerías

Tecnologías y herramientas utilizadas en el backend de este proyecto:

#### 🧠 Core & Framework
- **Node.js** 🟢 – Entorno de ejecución de JavaScript para backend.
- **Express.js** ⚡ – Framework web minimalista para crear APIs y servidores HTTP.

#### 🛡️ Seguridad y Autenticación
- **Argon2** 🔒 – Algoritmo de hashing seguro para contraseñas.
- **jsonwebtoken (JWT)** 🔑 – Autenticación basada en tokens.
- **Google Auth Library** 🔐 – Autenticación con cuentas de Google.
- **helmet** 🛡️ – Configura cabeceras HTTP seguras.
- **express-rate-limit** ⏱️ – Protección contra ataques de fuerza bruta y abuso.
- **cors** 🌐 – Permite solicitudes entre dominios.

#### 🐬 Base de Datos
- **MySQL2** 🐬 – Cliente MySQL para Node.js compatible con promesas.

#### 🪵 Logging y Utilidades
- **morgan** 🪵 – Middleware para registrar peticiones HTTP.

#### 📦 Formateo, Linting y Calidad de Código
- **prettier** ✨ – Formateador de código automático.
- **@trivago/prettier-plugin-sort-imports** 🔀 – Ordenamiento automático de imports.
- **eslint** 🧹 – Linter para mantener un estilo de código consistente.
- **@eslint/js** ⚙️ – Configuración moderna para `eslint`.
- **standard** 📏 – Estilo de código estándar para JavaScript.

#### 🧪 Testing
- **jest** ✅ – Framework de testing.
- **frisby** 🧪 – Librería para pruebas HTTP y APIs REST.
- **@faker-js/faker** 👻 – Generador de datos falsos para pruebas.

#### ⚙️ Automatización y Entorno de Desarrollo
- **nodemon** 🔄 – Reinicio automático del servidor al detectar cambios.
- **concurrently** 🧵 – Ejecuta múltiples comandos en paralelo.
- **dotenv** 🧬 – Carga variables de entorno desde archivos `.env`.
- **husky** 🐶 – Automatiza scripts en Git como pre-commit o pre-push.

#### 📚 Documentación
- **swagger-jsdoc** 📝 – Generador de especificaciones OpenAPI desde JSDoc.
- **swagger-ui-express** 🌐 – Interfaz de usuario Swagger para probar la API.
- **swagger-themes** 🎨 – Temas visuales personalizados para Swagger UI.

---

Expand All @@ -49,7 +76,7 @@

## Modelo relacional de la Base de Datos 🗄️

![Administracion de jardin de niños](/assets/Administracion%20de%20jardin%20de%20niños.png)
![Administracion de jardin de niños](/assets/Administracion%20de%20jardin%20de%20niños.svg)

---

Expand Down Expand Up @@ -110,7 +137,7 @@ cd Backend_RESTFULL
2. Instalar las dependencias

```
yarn install
pnpm install
```

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

---

## 🚀 Comandos
## 📦 Scripts disponibles

Estos son los scripts definidos en el archivo `package.json`, los cuales automatizan tareas comunes de desarrollo y pruebas.

| Script | Comando | Descripción |
|------------------------|---------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------|
| `start` | `nodemon server.js` | Inicia el servidor en modo desarrollo usando `nodemon`. |
| `dev` | `nodemon server.js` | Alias de `start`. Ideal para entornos de desarrollo. |
| `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. |
| `prepare` | `husky` | Configura los hooks de Git mediante Husky (se ejecuta automáticamente al instalar dependencias). |
| `test` | `jest` | Ejecuta los tests unitarios utilizando Jest. |
| `test:watch` | `jest --watchAll` | Ejecuta los tests y observa cambios en tiempo real para repetir automáticamente las pruebas. |
| `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. |

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

---

Expand Down
Binary file removed assets/Administracion de jardin de niños.png
Binary file not shown.
20 changes: 20 additions & 0 deletions assets/Administracion de jardin de niños.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading