Volver a los apuntes

Mi configuración de carpetas en src

Organización de carpetas en el directorio src para mantener una estructura clara y eficiente.

Estructura de carpetas

Copia y pega el siguiente comando para crear las carpetas en tu proyecto:

Git Bash
mkdir p src/features/auth/{controllers,services,repositories,models,dto,interfaces,middlewares,validators}
mkdir p src/features/products/{controllers,services,repositories,models,dto,interfaces}
mkdir p src/shared/{config,middlewares,utils,i18n,interfaces,types,constants,exceptions}
mkdir p src/core/{database,security,cache}
mkdir p src/routes/index.ts
mkdir p tests/{unit,integration,e2e}
mkdir p logs
mkdir p scripts

Ejemplo de estructura:

projectroot/
├── src/
 ├── features/
  ├── auth/
   ├── controllers/
   ├── services/
   ├── repositories/
   ├── models/
   ├── dto/
   ├── interfaces/
   ├── middlewares/
   ├── validators/
   └── routes.ts
  
  └── orders/
  └── ...
 
 ├── shared/
  ├── config/
   ├── database.config.ts
   └── index.ts
  ├── middlewares/
   ├── errorhandler.middleware.ts
   ├── logger.middleware.ts
   └── validation.middleware.ts
  ├── utils/
   ├── logger.util.ts
   ├── crypto.util.ts
   └── date.util.ts
  ├── interfaces/
  ├── types/
  ├── constants/
  └── exceptions/
 
 ├── core/
  ├── database/
   ├── connection.ts
   └── migrations/
  ├── security/
  └── cache/
 
 ├── app.ts
 └── server.ts

├── tests/

└── .env.example