Skip to content

Instantly share code, notes, and snippets.

@WanerValencia
Created June 20, 2023 01:28
Show Gist options
  • Save WanerValencia/64bed91c288153b4aef10b57e98785e3 to your computer and use it in GitHub Desktop.
Save WanerValencia/64bed91c288153b4aef10b57e98785e3 to your computer and use it in GitHub Desktop.
Nomenclatura de archivos y carpetas recomendada para NestJS

Nomenclatura de archivos y carpetas recomendada para NestJS

NestJS tiene una estructura de carpetas y convención de nombres muy bien definida y fácil de seguir. El uso de esta convención ayuda a mantener la coherencia y previsibilidad en tu código.

Carpetas

NestJS utiliza una arquitectura modular, y cada módulo de la aplicación reside en su propia carpeta. Los nombres de las carpetas generalmente son en plural y en minúsculas. Por ejemplo, si estás creando una aplicación con usuarios y tareas, tu estructura de carpetas podría ser la siguiente:

src/
    users/
    tasks/

Dentro de cada carpeta de módulo, puedes tener carpetas adicionales para diferentes aspectos de tu módulo, como dto, interfaces, decorators, guards, etc.

src/
    users/
        dto/
        interfaces/
        decorators/
        guards/
    tasks/
        dto/
        interfaces/
        decorators/
        guards/

Archivos

Los nombres de los archivos en NestJS siguen una convención que incluye el tipo de archivo. Por ejemplo, los archivos de servicios terminan con .service.ts, los archivos de controladores terminan con .controller.ts, y así sucesivamente.

src/
    users/
        users.service.ts
        users.controller.ts
        users.module.ts
        dto/
            create-user.dto.ts
        interfaces/
            user.interface.ts
        decorators/
            user.decorator.ts
        guards/
            jwt-auth.guard.ts
    tasks/
        tasks.service.ts
        tasks.controller.ts
        tasks.module.ts
        dto/
            create-task.dto.ts
        interfaces/
            task.interface.ts
        decorators/
            task.decorator.ts
        guards/
            tasks.guard.ts

Es importante que sigas estas convenciones ya que mejora la legibilidad y el mantenimiento del código. Además, hace que sea más fácil para otros desarrolladores entender la estructura de tu proyecto.

Documentación oficial

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment