Realizar la configuración necesaria para tener documentado tu proyecto final a partir de Swagger.
- Se debe tener documentado el módulo de productos.
- Se debe tener documentado el módulo de carrito
- No realizar documentación de sesiones
Pare poder ver la documentación situarse en el siguiente endpoint: /api-docs
A la hora de iniciar el proyecto en producción hay que modificar la api de peticiones de la carpeta src/public/js/utils/api.js reemplazando el puerto 8080 por el puerto 3000
ADMIN:
email: admin@gmail.com
password: 123
PREMIUM:
email: premium@gmail.com
password: 123
USUARIO:
email: usuario@gmail.com
password: 123
Dentro del proyecto encontrarás la siguiente estructura de directorios:
├── src/
├── config/
│ └── ...
└── controllers/
│ └── ...
└── dao/
└── db/
│ └── ...
└── memory/
│ └── ...
└── models/
│ └── ...
└── mongo/
│ └── ...
└── patterns/
│ └── ...
└── services/
└── repository/
└── ...
│└── lib/
└── error/
└── constants/
│ └── ...
└── handler/
└── ...
│└── middlewares/
│ └── ...
└── public/
│ └── ...
└── routes/
│ └── ...
└── utils/
│ └── ...
└── views/
└── layouts/
│ └── ...
└── partials/
└── ...
src/config: Archivos de configuraciónsrc/controllers: Controladores de las rutassrc/dao: Todo lo relacionado con datos (MEMORY, MONGO)src/dao/memory: Métodos para guardar los datos en memoria (archivo.json)src/dao/models: Estructura de los datos de MONGODBsrc/dao/mongo: Métodos para guardar los datos en una base de datos mongosrc/dao/patterns: Diseño de los datos de la aplicaciónsrc/dao/services: Serviciossrc/dao/services/repository: Selección del dao a utilizar en el proyectosrc/lib: Librerias compartidassrc/lib/err: Libreria de custom errorsrc/lib/err/constants: Todos los códigos e información de distintos erroressrc/lib/err/handler: Manejador de erroressrc/middlewares: Funciones de validaciónsrc/public: Carpeta publica para las vistassrc/routes: Rutas de la APIsrc/utils: Archivos que se reutilizarán a lo largo del proyectosrc/views: Vistas de handlebars para renderizar la interfaz del usuariosrc/views/layouts: Plantillas de handlebarssrc/views/partials: Componentes de handlebars
$ npm install # or `pnpm install` or `yarn install`Ir al siguiente Directorio
├── node_modules/
├── standard/
└── ...
En el archivo eslintrc.json pegar la siguiente configuración
{
"env": {
"browser": true
},
"extends": ["standard", "standard-jsx"]
}$ npm start # or `pnpm start` or `yarn start`$ npm start --modeDEVELOPMENT: Se conecta a la base de datos de desarrollo y el puerto de ejecución del servidor es el 8080 por defectoPRODUCTION: Se conecta a la base de datos de producción y el puerto de ejecución del servidor es el 3000 por defecto
Por defecto se usa DEVELOPMENT
$ npm start --portPor defecto se usa el puerto designado por el modo de desarrollo
$ npm start --storeMONGO: Los datos se almacenan en una base de datos mongoMEMORY: Los datos se almacenan en un archivo .json
Por defecto se usa MONGO
$ npm build # or `pnpm build` or `yarn build`