Aplicação inicial para construção de APIs com Express.js
Vem com:
Clone o repositório, instale as dependências e comece imediatamente.
$ git clone --depth=1 [email protected]:mesaugat/express-api-es6-starter.git <application-name>
$ cd <application-name>
$ rm -rf .git
$ yarn # or npm install
Faça uma cópia do .env.example como .env e atualize os detalhes do seu aplicativo e as credenciais do banco de dados. Agora, execute as migrações e semeia o banco de dados.
$ yarn migrate
$ yarn seed
Finalmente, inicie o aplicativo.
$ yarn start:dev (For development)
$ NODE_ENV=production yarn start (For production)
Navegue para http: // localhost: 8848/api-docs/para verificar a instalação.
Estes são os comandos para criar uma nova migração e arquivo de semente correspondente.
$ yarn make:migration <name>
$ yarn make:seeder <name>
Exemplo,
$ yarn make:migration create_tags_table
$ yarn make:seeder 02_insert_tags
Use o Docker-Comppose para criar rapidamente uma pilha com o contêiner de banco de dados PostGres pré-configurado. Os dados são efêmeros e os contêineres desaparecerão quando a pilha for removida.
Configuração específica para o Docker está em .env.docker
0.0.0.0 como $APP_HOST para expor o aplicativo na interface de rede DockerTraga a pilha,
$ docker-compose up
Navegue para http: // localhost: 8848/api-docs/para verificar o aplicativo está sendo executado do Docker.
Derrubar a pilha,
$ docker-compose down
Existem vários alvos de construção disponíveis para diferentes estágios. Essas imagens podem ser usadas para implantar ou executar trabalhos em diferentes infraestruturas em nuvem baseadas em contêineres, como Kubernetes, AWS ECS, Fargate, GCP Cloud Run etc.
Construindo uma imagem de produção.
$ docker build --target=prod -t express-api-es6-starter:prod .Construindo uma imagem para desenvolvimento.
$ docker build --target=dev -t express-api-es6-starter:dev .Construindo uma imagem que executa migração e/ou reversão.
# Docker image that runs migration and seeds.
$ docker build --target=migrate -t express-api-es6-starter:migrate .
# Docker image that rollbacks migrations.
$ docker build --target=migrate-rollback -t express-api-es6-starter:migrate-rollback . Depois que as imagens foram construídas - tudo o que você precisa fazer é executá -las fornecendo um arquivo .env . Assim:
$ docker run -v " /path/to/your/.env:/app/.env " mesaugat/express-api-es6-starter:migrateInstale o driver MySQL primeiro.
$ yarn add mysql
Atualize essas linhas no seu arquivo .env .
- DB_CLIENT='pg'
+ DB_CLIENT='mysql'
- DB_PORT='5432'
+ DB_PORT='3306'Você pode remover o driver PG, se quiser.
$ yarn remove pg
É isso, você está pronto para rolar.
Para executar os testes, você precisa criar um banco de dados de teste separado. Não se esqueça de atualizar seu arquivo .env para incluir as conexões para o banco de dados de teste.
$ NODE_ENV=test yarn migrate
$ yarn test
Execute testes com cobertura.
$ yarn test:coverage
Porque o ponto mais alto do mundo é de 8848 metros.
Para solicitações de contribuição e recurso, crie um problema primeiro.
Express-api-ES6-Starter está sob licença do MIT.