Este proyecto nace de la necesidad de tener un template para levantar API con GraphQL de manera rápida y modular.
La aplicación está usando webpack para compilar typescript a ES5 Por lo tanto hay 2 archivos principales que tienen ambientes de desarrollo para
webpack.dev.js
: desarrollo con HMR activadowebpack.production.js
: producción sin HMR
Esta es una lista de presets que tiene configurado el repositorio en base a diferentes variables de entorno configuradas en el archivo ./src/config/enviroments.ts
- GraphQL 15.5x
- sequelize 6.0x
- Traducciones (i18n)
- Sistema caché (redis)
- Sistema de colas (bull)
- Reportería de errores (sentry)
- Versionamiento semántico (semantic-release)
- Test unitarios (mocha)
npm run test
- Linters
npm run lint
// desarrollo
NODE_ENV=dev npm run build
// o en producción
NODE_ENV=production npm run build
npm start
al iniciar la aplicación se leerán las configuraciones del ambiente en .env
# Puerto donde se levantará el servidor, por defecto 4000
PORT=4000
// Si se puede usar la instrospección de GraphQL
APOLLO_INTROSPECTION=true
// Si tiene activado el playground en el servidor
APOLLO_PLAYGROUND=true
> ts-graphql-apollo: npm start
> ts-graphql-apollo@latest start ts-graphql-apollo
> node --require dotenv/config dist/server
info: Listen in localhost:4000
/graphql
: Peticiones API/admin/queues
: Administrador de colasbull