- Git
- Docker
- express.js
- morgan
- mysql2
- nodemon
Jika anda sudah menginstall docker, anda bisa menjalankan perintah docker-compose up -d
untuk menjalankan API Contact Manager dan juga database Mysql. Tetapi pastikan environment
pada file .env yang telah kamu buat dari .env.example sesuai dengan environment
pada file docker-compose.yaml
.
Apabila ada perubahan pada file kodingan anda, anda bisa build ulang container dengan perintah :
docker-compose up -d --build --force-recreate
- copy
.env.example
ke.env
dan sesuaikan config untuk server dan database. - install package dengan perintah
npm install
. - jalankan projek dengan perintah
npm start
ataunpm run dev
untuk mode development.
Migrasi table berada pada fungsi migration
di file db.js
, fungsi migration dijalankan didalam fungsi run
yang berada pada app.js
. Anda bisa menyesuaikan fungsi migration
dalam file db.js
sesuai struktur data pada tabel yang ingin dibuat.
Contoh ketika ingin membuat 2 tabel:
await db.query(
`
CREATE TABLE IF NOT EXISTS users (
id int not null auto_increment,
email varchar(255) not null,
password varchar(255) not null,
primary key (id)
)
`
);
await db.query(
`
CREATE TABLE IF NOT EXISTS city (
id int not null auto_increment,
city_name varchar(255) not null,
primary key (id)
)
`
);
Pastikan environment database dan port API pada file .env
sama dengan file docker-compose.yaml
.
Dan pastikan anda telah menjalakan database dan api pada docker lokal, kalau belum jalankan perintah berikut docker-compose up -d
atau docker-compose up -d --build --force-recreate
untuk build ulang image ketika ada perubahan pada file.
Jalankan perintah berikut untuk melakukan unit testing:
docker run --network="host" -e API_URL=http://localhost:3030 -e LEVEL={level} alfi08/hello-unit-testing
Jalankan perintah berikut untuk Build docker image docker build . -t {name}
contoh :
docker build . -t devcode-nodejs
Pastikan sudah memiliki akun docker hub, dan login akun docker anda di lokal dengan perintah docker login
.
Setelah itu jalankan perintah berikut untuk push docker image lokal ke docker hub.
docker tag devcode-nodejs {username docker}/devcode-nodejs
docker push {username docker}/devcode-nodejs
Setelah itu submit docker image ke Devcode.
{username docker}/devcode-nodejs