Appearance
Estructura del Proyecto Backend
Este documento describe la organización de los archivos y carpetas principales en la raíz de tu proyecto backend, facilitando la navegación y comprensión de su arquitectura.
Carpetas
dist
Esta carpeta contiene el código compilado o transpilado de tu aplicación. Es el resultado del proceso de build de tu proyecto (por ejemplo, de TypeScript a JavaScript), listo para ser desplegado en un entorno de producción.
logs
Aquí se almacenan los archivos de registro (logs) generados por tu aplicación. Estos logs son cruciales para el monitoreo, la depuración y el análisis del comportamiento de la aplicación en diferentes entornos.
node_modules
Este directorio, gestionado por npm o Yarn, alberga todas las dependencias de terceros (librerías y paquetes) que tu proyecto necesita para funcionar. No debe ser versionado en el control de código (por eso se incluye en .gitignore).
src
La carpeta src (o source) es el corazón de tu aplicación, conteniendo todo el código fuente del backend. Aquí encontrarás la lógica de negocio, controladores, servicios, modelos, etc. (como se detalla en el documento de la carpeta src).
tests
Este directorio contiene todos los tests automatizados de tu aplicación. Incluye pruebas unitarias, de integración y, potencialmente, end-to-end, asegurando la calidad y el correcto funcionamiento del código.
Archivos de Configuración y Metadatos
.dockerignore
Similar a .gitignore, este archivo especifica los archivos y carpetas que Docker debe ignorar al construir una imagen. Esto ayuda a mantener las imágenes limpias y eficientes, excluyendo dependencias de desarrollo o archivos temporales.
.env
Contiene las variables de entorno de tu aplicación. Es fundamental para almacenar configuraciones sensibles o específicas del entorno (como credenciales de bases de datos, claves API) de forma segura y separada del código fuente. ¡Nunca debe ser versionado!
.gitignore
Lista de archivos y directorios que Git debe ignorar y no incluir en el control de versiones. Es crucial para evitar que archivos temporales, dependencias (node_modules) o configuraciones locales (.env) se suban al repositorio.
Dockerfile
Contiene las instrucciones para construir una imagen Docker de tu aplicación backend. Permite empaquetar la aplicación y sus dependencias en un contenedor, asegurando un despliegue consistente y reproducible.
package-lock.json
Generado automáticamente por npm, este archivo registra las versiones exactas de todas las dependencias (incluyendo las sub-dependencias) utilizadas en el proyecto. Asegura que la instalación de dependencias sea consistente en todos los entornos.
package.json
El manifiesto de tu proyecto Node.js. Contiene metadatos del proyecto (nombre, versión, descripción), scripts para ejecutar tareas (inicio, pruebas, build), y la lista de dependencias (dependencies y devDependencies).
readme.md
Un archivo de documentación esencial que proporciona una visión general del proyecto. Típicamente incluye: una descripción, instrucciones de instalación, cómo ejecutar la aplicación, cómo contribuir y la información de contacto.
swagger.yml
Define la especificación OpenAPI/Swagger de tu API REST. Permite documentar los endpoints, modelos de datos, autenticación y otros detalles de la API de una manera estándar, facilitando el consumo por parte de clientes y la generación automática de SDKs.
tsconfig.json
El archivo de configuración del compilador de TypeScript. Define cómo TypeScript debe compilar tus archivos .ts a JavaScript, incluyendo opciones como la versión de ECMAScript de salida, los módulos, y las reglas de linting.