Skip to content

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.