# 🤝 Guía de Contribución ## Cómo Trabajar en Este Proyecto ### 1. Flujo de Trabajo con Git ```bash # Clonar el repositorio git clone https://git.consultoria-as.com/consultoria-as/hotel-hacienda.git # Crear una rama para tu cambio git checkout -b feature/nombre-de-la-funcionalidad # Hacer commit con mensajes descriptivos git add . git commit -m "feat: descripción clara del cambio" # Subir y crear Pull Request git push origin feature/nombre-de-la-funcionalidad ``` ### 2. Convención de Commits | Prefijo | Uso | |---------|-----| | `feat:` | Nueva funcionalidad | | `fix:` | Corrección de bug | | `docs:` | Cambios en documentación | | `style:` | Cambios de formato (espacios, comas) | | `refactor:` | Refactorización de código | | `test:` | Agregar o corregir tests | | `chore:` | Tareas de mantenimiento | ### 3. Antes de Modificar Cualquier Cosa 1. **Lee `DOCUMENTACION_TECNICA.md`** — entiende la arquitectura. 2. **Si modificas lógica de negocio:** revisa la función SQL correspondiente en PostgreSQL. 3. **Si agregas un endpoint:** sigue el patrón `route → controller → función SQL`. 4. **Si agregas una página:** actualiza `menuconfig.js`, `App.jsx` y `Layout2.jsx`. ### 4. Reglas de Oro - No hardcodees `localhost` en el frontend. Usa `import.meta.env.VITE_API_BASE_URL`. - Usa queries parametrizadas (`$1`, `$2`) en PostgreSQL para evitar SQL Injection. - Si cambias una función SQL, busca TODOS los controllers que la usen. - Mantén la consistencia en la respuesta JSON: `{ message, data, status }`. - Agrega traducciones EN/ES para todo texto visible. ### 5. Testing Actualmente no hay tests. Si agregas funcionalidad crítica, considera: - Probar la función SQL directamente en PostgreSQL. - Probar el endpoint con `curl` o Postman. - Probar el flujo completo en el navegador. ### 6. Documentación Si tu cambio afecta: - **Endpoints:** actualiza `docs/API.md` - **Base de datos:** actualiza `docs/DATABASE.md` - **Despliegue:** actualiza `docs/DEPLOYMENT.md` - **Arquitectura:** actualiza `DOCUMENTACION_TECNICA.md`