¿Cuál es la mejor estructura de carpetas para un proyecto que incluye:
Todo depende de las preferencias personales. Haga que su estructura de carpetas sea la forma en que se sienta más cómodo trabajando.
Por ejemplo, me encanta que mi código se divida en submódulos o que simplemente se diga que está en diferentes directorios, de acuerdo con el trabajo para el que se usa el código.
Yo personalmente iría con un par de carpetas:
.{src} ├── controllers # All controller operations according the routes are stored here │ ├── authController.ts # Handles authentication requests │ ├── usersController.ts # Handles users route requests │ └── ... │ ├── database # All database connections are stored here. For example you have two databases │ ├── db.ts # Initialize DB connection │ └── ... │ ├── middleware │ ├── authenticated.ts # Decode and verify JWT token │ ├── error.ts # Common Error Handler │ ├── logger.ts # Control logging levels │ └── ... │ ├── models # Simple descriptor of the database tables │ ├── usersModel.ts # DB model for users │ └── ... │ ├── schema # Schemas that are used for CRUD operations with the models │ ├── users.ts # DB Schema for users │ └── ... │ ├── listeners │ ├── socketsManager.ts # Socket listeners/emitters handle │ └── ... │ ├── app.ts # Entry file for the project ├── .env # Store environment variables ├── routes.ts # All routes initializer └── ...Aunque puede que no te guste el nombre o el orden que he puesto, puedes crear uno propio con el que te sientas cómodo. Otra cosa que puede hacer es echar un vistazo a algunas convenciones que se encuentran en Internet o algunos de los proyectos más populares, como los marcos.
Después de todo, todo depende de tus necesidades y con lo que te sientas cómodo trabajando.