Estructura
├── api
│ ├─── controllers
│ │ ├─── usuarios.controller.ts
│ │ ├─── publicaciones.controller.ts
│ │ ├─── seguidores.controller.ts
│ │ ├─── ...
│ ├─── middlewares
│ │ ├─── auth.middleware.ts
│ │ ├─── error.middleware.ts
│ │ ├─── ...
│ ├─── routes
│ │ ├─── usuarios.routes.ts
│ │ ├─── publicaciones.routes.ts
│ │ ├─── seguidores.routes.ts
│ │ ├─── ...
│ ├─── services
│ │ ├─── usuarios.service.ts
│ │ ├─── publicaciones.service.ts
│ │ ├─── seguidores.service.ts
│ │ ├─── ...
│ ├─── utils
│ │ ├─── utils.ts
│ ├─── index.ts
├── application
│ ├─── config
│ │ ├─── app.config.ts
│ │ ├─── database.config.ts
│ │ ├─── ...
│ ├─── models
│ │ ├─── usuario.model.ts
│ │ ├─── publicacion.model.ts
│ │ ├─── seguidor.model.ts
│ │ ├─── ...
│ ├─── repositories
│ │ ├─── usuarios.repository.ts
│ │ ├─── publicaciones.repository.ts
│ │ ├─── seguidores.repository.ts
│ │ ├─── ...
│ ├─── services
│ │ ├─── usuarios.service.ts
│ │ ├─── publicaciones.service.ts
│ │ ├─── seguidores.service.ts
│ │ ├─── ...
│ ├─── utils
│ │ ├─── utils.ts
│ ├─── index.ts
├── domain
│ ├─── entities
│ │ ├─── usuario.entity.ts
│ │ ├─── publicacion.entity.ts
│ │ ├─── seguidor.entity.ts
│ │ ├─── ...
│ ├─── useCases
│ │ ├─── usuarios.usecase.ts
│ │ ├─── publicaciones.usecase.ts
│ │ ├─── seguidores.usecase.ts
│ │ ├─── ...
│ ├─── index.ts
├── infrastructure
│ ├─── adapters
│ │ ├─── database.adapter.ts
│ │ ├─── ...
│ ├─── database
│ │ ├─── index.ts
│ ├─── repositories
│ │ ├─── usuarios.repository.ts
│ │ ├─── publicaciones.repository.ts
│ │ ├─── seguidores.repository.ts
│ │ ├─── ...
│ ├─── utils
│ │ ├─── utils.ts
│ ├─── index.ts
├── index.ts
├── package.json
├── tsconfig.json
Explicación:
api: Contiene los controladores, middlewares y rutas de la API.
application: Contiene la configuración de la aplicación,
modelos, repositorios, servicios y utilidades.
domain: Contiene las entidades y casos de uso del dominio de la aplicación.
infrastructure: Contiene los adaptadores, la base de datos y los repositorios de la infraestructura.
index.ts: Archivo principal que inicia la aplicación.
package.json: Contiene las dependencias del proyecto.
tsconfig.json: Contiene la configuración del compilador TypeScript.
Consideraciones
Esta es una estructura de archivos básica, puede modificarse según las necesidades específicas del proyecto.
Se recomienda usar un contenedor de dependencias para inyectar las dependencias en las diferentes clases.
Se pueden usar herramientas como NestJS para facilitar la implementación de Clean Architecture.
Top comments (0)