Application de démarrage pour la construction d'API avec express.js
Livré avec:
Clone le référentiel, installez les dépendances et commencez immédiatement.
$ git clone --depth=1 [email protected]:mesaugat/express-api-es6-starter.git <application-name>
$ cd <application-name>
$ rm -rf .git
$ yarn # or npm install
Faites une copie de .env.example en tant .env et mettez à jour les détails de votre application et les informations d'identification de la base de données. Maintenant, exécutez les migrations et semenez la base de données.
$ yarn migrate
$ yarn seed
Enfin, démarrez l'application.
$ yarn start:dev (For development)
$ NODE_ENV=production yarn start (For production)
Accédez à http: // localhost: 8848 / api-docs / pour vérifier l'installation.
Ce sont les commandes pour créer une nouvelle migration et un fichier de semence correspondant.
$ yarn make:migration <name>
$ yarn make:seeder <name>
Exemple,
$ yarn make:migration create_tags_table
$ yarn make:seeder 02_insert_tags
Utilisez Docker-Compose pour afficher rapidement une pile avec un conteneur de base de données Postgres préconfiguré. Les données sont éphémères et les conteneurs disparaîtront lorsque la pile sera supprimée.
Une configuration spécifique pour Docker est dans .env.docker
0.0.0.0 comme $APP_HOST pour exposer l'application sur l'interface du réseau DockerApporter de la pile,
$ docker-compose up
Accédez à http: // localhost: 8848 / api-docs / pour vérifier que l'application s'exécute à partir de docker.
Faire baisser la pile,
$ docker-compose down
Il existe plusieurs cibles de construction disponibles pour différentes étapes. Ces images peuvent être utilisées pour déployer ou exécuter des travaux dans différentes infrastructures cloud basées sur des conteneurs comme Kubernetes, AWS ECS, Fargate, GCP Cloud Run, etc.
Construire une image de production.
$ docker build --target=prod -t express-api-es6-starter:prod .Construire une image de développement.
$ docker build --target=dev -t express-api-es6-starter:dev .Construire une image qui exécute la migration et / ou le recul.
# 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 . Une fois les images construites - tout ce que vous avez à faire est de les exécuter en fournissant un fichier .env . Comme ça:
$ docker run -v " /path/to/your/.env:/app/.env " mesaugat/express-api-es6-starter:migrateInstallez d'abord le pilote MySQL.
$ yarn add mysql
Mettez à jour ces lignes dans votre fichier .env .
- DB_CLIENT='pg'
+ DB_CLIENT='mysql'
- DB_PORT='5432'
+ DB_PORT='3306'Vous pouvez supprimer le pilote PG si vous le souhaitez.
$ yarn remove pg
Voilà, vous êtes prêt à rouler.
Pour exécuter les tests, vous devez créer une base de données de test distincte. N'oubliez pas de mettre à jour votre fichier .env pour inclure les connexions de la base de données de test.
$ NODE_ENV=test yarn migrate
$ yarn test
Exécutez des tests avec la couverture.
$ yarn test:coverage
Parce que le point le plus élevé au monde est de 8848 mètres.
Pour les demandes de contribution et de fonctionnalités, veuillez d'abord créer un problème.
Express-API-ES6-Starter est sous licence MIT.