Yeoman generator for Astro ExpressJS API
MIT License
Yeoman generator for building RESTful APIs and microservices using Node.js, ExpressJS and Docker support, and fullstack service with ReactJS, Redux, and Redux Observable. Astro Generator was designed to be scalable on containerized environment like Kubernetes, and designed to be enterprise ready. The principle of the project structure is isolation, so multiple developers can work on the same project without high dependency.
Install:
npm install -g yo generator-astro
Generate a new project:
yo astro
Choose your project, either service or fullstack
Generate a new component
yo astro:component
Upon creation on a component, a new component folder will be created on src/components
, and entries will be injected on the following files:
src/client/ducks/routers.js
src/client/ducks/epics.js
src/client/ducks/reducers.js
Generate a new API:
yo astro:api
Generate a new middleware:
yo astro:middleware
Generate a new service:
yo astro:service
Generate a new utility:
yo astro:util
Generate a new boot task:
yo astro:boot
Set environment variables:
cp .env.example .env
yarn dev
yarn start
# lint code with ESLint
yarn lint
# try to fix ESLint errors
yarn lint:fix
# lint and watch for changes
yarn lint:watch
yarn db:migrate
# to undo the migration
yarn db:migrate:undo
# run all tests with Jest with coverage
yarn test
# run unit tests
yarn test:unit
# run integration tests
yarn test:integration
# run all tests and watch for changes
yarn test:watch
# run lint and tests
yarn validate
# show logs in production
pm2 logs
# generate and open api documentation
yarn docs
# run container locally
yarn docker:dev
or
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
# run container in production
yarn docker:prod
or
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up
# run tests
yarn docker:test
or
docker-compose -f docker-compose.yml -f docker-compose.test.yml up