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