Aplikasi starter untuk membangun API dengan Express.js
Dilengkapi dengan:
Kloning repositori, instal dependensi dan segera mulai.
$ git clone --depth=1 [email protected]:mesaugat/express-api-es6-starter.git <application-name>
$ cd <application-name>
$ rm -rf .git
$ yarn # or npm install
Buat salinan .env.example sebagai .env dan perbarui detail aplikasi Anda dan kredensial basis data. Sekarang, jalankan migrasi dan benih database.
$ yarn migrate
$ yarn seed
Akhirnya, mulailah aplikasi.
$ yarn start:dev (For development)
$ NODE_ENV=production yarn start (For production)
Arahkan ke http: // localhost: 8848/API-docs/untuk memverifikasi instalasi.
Ini adalah perintah untuk membuat migrasi baru dan file benih yang sesuai.
$ yarn make:migration <name>
$ yarn make:seeder <name>
Contoh,
$ yarn make:migration create_tags_table
$ yarn make:seeder 02_insert_tags
Gunakan Docker-Compose untuk dengan cepat memunculkan tumpukan dengan wadah basis data Postgres yang telah dikonfigurasi sebelumnya. Data fana dan wadah akan hilang saat tumpukan dihapus.
Konfigurasi khusus untuk Docker ada di .env.docker
0.0.0.0 sebagai $APP_HOST untuk mengekspos aplikasi pada antarmuka jaringan DockerMembesarkan tumpukan,
$ docker-compose up
Arahkan ke http: // localhost: 8848/API-DOCS/Untuk memverifikasi aplikasi berjalan dari Docker.
Turunkan tumpukan,
$ docker-compose down
Ada beberapa target build yang tersedia untuk berbagai tahap. Gambar -gambar ini dapat digunakan untuk menggunakan atau menjalankan pekerjaan di infrastruktur cloud berbasis wadah yang berbeda seperti Kubernetes, AWS ECS, Fargate, GCP Cloud Run dll.
Membangun gambar produksi.
$ docker build --target=prod -t express-api-es6-starter:prod .Membangun gambar untuk pengembangan.
$ docker build --target=dev -t express-api-es6-starter:dev .Membangun gambar yang menjalankan migrasi dan/atau rollback.
# 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 . Setelah gambar dibangun - yang perlu Anda lakukan adalah menjalankannya menyediakan file .env . Seperti ini:
$ docker run -v " /path/to/your/.env:/app/.env " mesaugat/express-api-es6-starter:migrateInstal driver MySQL terlebih dahulu.
$ yarn add mysql
Perbarui baris ini di file .env Anda.
- DB_CLIENT='pg'
+ DB_CLIENT='mysql'
- DB_PORT='5432'
+ DB_PORT='3306'Anda dapat menghapus driver PG jika Anda mau.
$ yarn remove pg
Itu saja, Anda siap untuk berguling.
Untuk menjalankan tes, Anda perlu membuat database tes terpisah. Jangan lupa untuk memperbarui file .env Anda untuk memasukkan koneksi untuk database pengujian.
$ NODE_ENV=test yarn migrate
$ yarn test
Jalankan tes dengan cakupan.
$ yarn test:coverage
Karena titik tertinggi di dunia adalah 8848 meter.
Untuk permintaan kontribusi dan fitur, silakan buat masalah terlebih dahulu.
Express-API-ES6-Starter berada di bawah lisensi MIT.