SlideShare a Scribd company logo
1 of 9
Download to read offline
E-shopay Study Case
author : kang dian
Principal Trainner
Study Case e-shopay
• Buat database dengan nama eshopay
• Create tables dan constraint nya sesuai
erd-diagram disamping
• Format OrderName :
ORD20210921#0002
Create RestAPI Step 1
Database
• Create Database
• Create Tables
Add Module
Dependencies
• @babel/runtime :
^7.12.13
• body-parser : ^1.19.0
• cors : ^2.8.5
• compression : ^1.7.4
• cookie-parser : ^1.4.5
• helmet : 3.22.0
• dotenv : ^10.0.0
• sequelize : ^5.21.7
Add module
devDependencies
• nodemon : ^2.0.12
• @babel/core : ^7.12.13
• @babel/node : ^7.12.13
• @babel/plugin-transform-
runtime : ^7.12.15
• @babel/preset-env :
^7.12.13
• sequelize-auto : ^0.8.4
Config Files
• .babelrc
• .env
• Add script start,test &
reverse:db
• Execute reverse:db
package.json
{
"name": “02-nodejs",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"start": "nodemon --exec babel-node index.js",
"test": "jest",
"reverse:db": "sequelize-auto -o ./schemas -d eshopay -h localhost -u postgres -p 5432 -x admin -e postgres"
},
"dependencies": {
"@babel/runtime": "^7.12.13",
"body-parser": "^1.19.0",
"compression": "^1.7.4",
"cookie-parser": "^1.4.5",
"cors": "^2.8.5",
"dotenv": "^10.0.0",
"express": "^4.17.1",
"helmet": "3.22.0",
"pg": "^8.7.1",
"sequelize": "^5.21.7"
},
"devDependencies": {
"@babel/core": "^7.12.13",
"@babel/node": "^7.12.13",
"@babel/plugin-transform-runtime": "^7.12.15",
"@babel/preset-env": "^7.12.13",
"nodemon": "^2.0.12",
"sequelize-auto": "^0.8.4"
}
}
execute script reverse:db
"reverse:db": "sequelize-auto -o ./schemas -d eshopay -h localhost -u postgres -p 5432 -x admin -e postgres"
folder output
hasil generate
database name user
password dialect
database type
Untuk generate reverse dari table database ke object model gunakan sintak :
yarn reverse:db
Sequelize
• Sequelize adalah orm (object relational
mapping) antara table di database dan object
model di nodejs.
• Sequelize memiliki fitur function untuk
melakukan proses DDL & DML.
• Object model akan menyimpan satu record
data table.
• Mempermudah passing parameter & extract
data, karena attribute bisa dibungkus oleh
object model.
Table Category
Sequelize Association
• Di database kita bisa melakukan query join,
begitu juga di sequelize, kita bisa melakukan
join menggunakan association.
• Method sequelize adalah abstraction, yaitu
membungkus query native ke dalam bentuk
function js.
• Selain bisa query menggunakan feature
method sequelize, kita juga bisa
menggunakan raw query.
models.Category.findAll();
'select cate_id,cate_name from category'
equal
sequelize.query('select cate_id,cate
_name from category’,…)
Raw query :
Tables
Design Pattern e-shopay
CREDITS: This presentation template was created by Slidesgo,
including icons by Flaticon, and infographics & images by Freepik.
THANKS!
Any questions?

More Related Content

Similar to ESHOPAY-CASE

Modul framework code igniter
Modul framework code igniterModul framework code igniter
Modul framework code igniterFakhir Rizal
 
05 pzt web programming jdbc hibernate. kelompok 7
05 pzt web programming jdbc hibernate. kelompok 705 pzt web programming jdbc hibernate. kelompok 7
05 pzt web programming jdbc hibernate. kelompok 7pinnsyl
 
Membuat laporan berbentuk khs 2
Membuat laporan berbentuk khs 2Membuat laporan berbentuk khs 2
Membuat laporan berbentuk khs 2Jamil Jamil
 
Membuat laporan berbentuk khs
Membuat laporan berbentuk khsMembuat laporan berbentuk khs
Membuat laporan berbentuk khsJamil Jamil
 
Database Operation di VB.NET
Database Operation di VB.NETDatabase Operation di VB.NET
Database Operation di VB.NETFgroupIndonesia
 
Praktikum01
Praktikum01Praktikum01
Praktikum01akuida
 
Form validation dengan code igniter
Form validation dengan code igniterForm validation dengan code igniter
Form validation dengan code igniterEidelbert Sinaga
 
Database operation di C++
Database operation di C++Database operation di C++
Database operation di C++FgroupIndonesia
 
Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5Welly Rosadi, Mochamad
 
Modul Laravel 10 - ToT Laravel TcOT.pptx
Modul Laravel 10 - ToT Laravel TcOT.pptxModul Laravel 10 - ToT Laravel TcOT.pptx
Modul Laravel 10 - ToT Laravel TcOT.pptxUnduhUnggah1
 
01 Pengatantar Basis Data
01 Pengatantar Basis Data01 Pengatantar Basis Data
01 Pengatantar Basis DataMartin Arale
 
Arsitektur Data Warehouse
Arsitektur Data WarehouseArsitektur Data Warehouse
Arsitektur Data WarehouseNova ed
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrudmales Aja
 
Jquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by YussanJquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by YussanYusuf A.H.
 

Similar to ESHOPAY-CASE (20)

Modul framework code igniter
Modul framework code igniterModul framework code igniter
Modul framework code igniter
 
05 pzt web programming jdbc hibernate. kelompok 7
05 pzt web programming jdbc hibernate. kelompok 705 pzt web programming jdbc hibernate. kelompok 7
05 pzt web programming jdbc hibernate. kelompok 7
 
Membuat laporan berbentuk khs 2
Membuat laporan berbentuk khs 2Membuat laporan berbentuk khs 2
Membuat laporan berbentuk khs 2
 
Membuat laporan berbentuk khs
Membuat laporan berbentuk khsMembuat laporan berbentuk khs
Membuat laporan berbentuk khs
 
P webfb
P webfbP webfb
P webfb
 
Modul mvc part 1
Modul mvc part 1Modul mvc part 1
Modul mvc part 1
 
Database Operation di VB.NET
Database Operation di VB.NETDatabase Operation di VB.NET
Database Operation di VB.NET
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Praktikum01
Praktikum01Praktikum01
Praktikum01
 
Form validation dengan code igniter
Form validation dengan code igniterForm validation dengan code igniter
Form validation dengan code igniter
 
Database operation di C++
Database operation di C++Database operation di C++
Database operation di C++
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5
 
Modul Laravel 10 - ToT Laravel TcOT.pptx
Modul Laravel 10 - ToT Laravel TcOT.pptxModul Laravel 10 - ToT Laravel TcOT.pptx
Modul Laravel 10 - ToT Laravel TcOT.pptx
 
01 Pengatantar Basis Data
01 Pengatantar Basis Data01 Pengatantar Basis Data
01 Pengatantar Basis Data
 
2 model eer
2 model eer2 model eer
2 model eer
 
Arsitektur Data Warehouse
Arsitektur Data WarehouseArsitektur Data Warehouse
Arsitektur Data Warehouse
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrud
 
Presentasi
PresentasiPresentasi
Presentasi
 
Jquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by YussanJquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by Yussan
 

Recently uploaded

10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppttaniaalda710
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxRemigius1984
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfYogiCahyoPurnomo
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdfAnonymous6yIobha8QY
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfArvinThamsir1
 
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfihsan386426
 

Recently uploaded (8)

10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptx
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdf
 
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
 

ESHOPAY-CASE

  • 1. E-shopay Study Case author : kang dian Principal Trainner
  • 2. Study Case e-shopay • Buat database dengan nama eshopay • Create tables dan constraint nya sesuai erd-diagram disamping • Format OrderName : ORD20210921#0002
  • 3. Create RestAPI Step 1 Database • Create Database • Create Tables Add Module Dependencies • @babel/runtime : ^7.12.13 • body-parser : ^1.19.0 • cors : ^2.8.5 • compression : ^1.7.4 • cookie-parser : ^1.4.5 • helmet : 3.22.0 • dotenv : ^10.0.0 • sequelize : ^5.21.7 Add module devDependencies • nodemon : ^2.0.12 • @babel/core : ^7.12.13 • @babel/node : ^7.12.13 • @babel/plugin-transform- runtime : ^7.12.15 • @babel/preset-env : ^7.12.13 • sequelize-auto : ^0.8.4 Config Files • .babelrc • .env • Add script start,test & reverse:db • Execute reverse:db
  • 4. package.json { "name": “02-nodejs", "version": "1.0.0", "main": "index.js", "license": "MIT", "scripts": { "start": "nodemon --exec babel-node index.js", "test": "jest", "reverse:db": "sequelize-auto -o ./schemas -d eshopay -h localhost -u postgres -p 5432 -x admin -e postgres" }, "dependencies": { "@babel/runtime": "^7.12.13", "body-parser": "^1.19.0", "compression": "^1.7.4", "cookie-parser": "^1.4.5", "cors": "^2.8.5", "dotenv": "^10.0.0", "express": "^4.17.1", "helmet": "3.22.0", "pg": "^8.7.1", "sequelize": "^5.21.7" }, "devDependencies": { "@babel/core": "^7.12.13", "@babel/node": "^7.12.13", "@babel/plugin-transform-runtime": "^7.12.15", "@babel/preset-env": "^7.12.13", "nodemon": "^2.0.12", "sequelize-auto": "^0.8.4" } }
  • 5. execute script reverse:db "reverse:db": "sequelize-auto -o ./schemas -d eshopay -h localhost -u postgres -p 5432 -x admin -e postgres" folder output hasil generate database name user password dialect database type Untuk generate reverse dari table database ke object model gunakan sintak : yarn reverse:db
  • 6. Sequelize • Sequelize adalah orm (object relational mapping) antara table di database dan object model di nodejs. • Sequelize memiliki fitur function untuk melakukan proses DDL & DML. • Object model akan menyimpan satu record data table. • Mempermudah passing parameter & extract data, karena attribute bisa dibungkus oleh object model. Table Category
  • 7. Sequelize Association • Di database kita bisa melakukan query join, begitu juga di sequelize, kita bisa melakukan join menggunakan association. • Method sequelize adalah abstraction, yaitu membungkus query native ke dalam bentuk function js. • Selain bisa query menggunakan feature method sequelize, kita juga bisa menggunakan raw query. models.Category.findAll(); 'select cate_id,cate_name from category' equal sequelize.query('select cate_id,cate _name from category’,…) Raw query : Tables
  • 9. CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, and infographics & images by Freepik. THANKS! Any questions?