Se aplicará un módulo de mocking y un manejador de errores a tu servidor actual
- Generar un módulo de Mocking para el servidor, con el fin de que, al inicializarse pueda generar y entregar 100 productos con el mismo formato que entregaría una petición de Mongo. Ésto solo debe ocurrir en un endpoint determinado (‘/mockingproducts’)
- Generar un customizador de errores y crear un diccionario para tus errores más comunes al crear un producto, agregarlo al carrito, etc
ADMIN
:
email: admin@gmail.com
password: 123
USUARIO
:
email: user@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
: Middleware del inicio de sesió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`
Colocamos la siguiente configuración en el archivo package.json
{
"eslintConfig": {
"extends": "./eslintrc.json"
}
}
Después hubicarse dentro del siguiente directorio
├── node_modules/
├── standard/
└── ...
En el archivo eslintrc.json
pegar la siguiente configuración
{
"env": {
"browser": true
},
"extends": ["standard", "standard-jsx"],
"rules": {
"camelcase": "off"
}
}
$ npm start # or `pnpm start` or `yarn start`
$ npm start --mode
DEVELOPMENT
: 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 --port
Por defecto se usa el puerto designado por el modo de desarrollo
$ npm start --persistence
MONGO
: 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`