Realizar módulos de testing para tu proyecto principal, utilizando los módulos de mocha + chai + supertest
Se deben incluir por lo menos 3 tests desarrollados para:
- Router de products.
- Router de carts.
- Router de sessions.
NO desarrollar únicamente tests de status, la idea es trabajar lo mejor desarrollado posible las validaciones de testing
Pare poder ver la documentación situarse en la siguiente url: /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: [email protected]
password: 123
PREMIUM
:
email: [email protected]
password: 123
USUARIO
:
email: [email protected]
password: 123
Dentro del proyecto encontrarás la siguiente estructura de directorios:
└── src/
├── config/
│ └── ...
│── controllers/
│ └── ...
└── dao/
│── db/
│ └── ...
│── memory/
│ └── ...
│── models/
│ └── ...
│── mongo/
│ └── ...
│── patterns/
│ └── ...
└── services/
└── repository/
└── ...
│── docs/
│ └── ...
└── 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/docs
: Archivos YAML para la documentación de las distintas APIs del 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,
"mocha": true
},
"extends": ["standard", "standard-jsx"]
}
$ 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 --store
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`