0% found this document useful (0 votes)
32 views

NodeJS RESTful API

This document outlines requirements and instructions for building a NodeJS RESTful API for contact management. It describes data models and APIs needed for user management, contact management, and address management. It provides instructions for setting up the project, installing dependencies like Express, Prisma and Joi, and implementing APIs for user registration, login, contact creation, and more. The goal is to create a functional contact manager API using best practices of RESTful design.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

NodeJS RESTful API

This document outlines requirements and instructions for building a NodeJS RESTful API for contact management. It describes data models and APIs needed for user management, contact management, and address management. It provides instructions for setting up the project, installing dependencies like Express, Prisma and Joi, and implementing APIs for user registration, login, contact creation, and more. The goal is to create a functional contact manager API using best practices of RESTful design.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

NodeJS RESTful API

Eko Kurniawan Khannedy


Eko Kurniawan Khannedy

- Technical architect at one of the biggest


ecommerce company in Indonesia
- 12+ years experiences
- www.programmerzamannow.com
- youtube.com/c/ProgrammerZamanNow
Eko Kurniawan Khannedy
● Telegram : @khannedy
● Linkedin : https://www.linkedin.com/company/programmer-zaman-now/
● Facebook : fb.com/ProgrammerZamanNow
● Instagram : instagram.com/programmerzamannow
● Youtube : youtube.com/c/ProgrammerZamanNow
● Telegram Channel : t.me/ProgrammerZamanNow
● Tiktok : https://tiktok.com/@programmerzamannow
● Email : [email protected]
Sebelum Belajar
● Kelas JavaScript dari Programmer Zaman Now
● Kelas MySQL dari Programmer Zaman Now
● NodeJS ExpressJS
● NodeJS Validation
● NodeJS Database
Requirement
Requirement
● Pada kelas ini, kita akan coba membuat RESTful API untuk Contact Management, dimana RESTful
API yang akan kita buat memiliki fitur sebagai berikut :
● User Management
● Contact Management
● Address Management
User Management Requirement
User Data
● Username
● Password
● Name
User API
● Register User
● Login User
● Update User
● Get User
● Logout User
Contact Management
Requirement
Contact Data
● First Name
● Last Name
● Email
● Phone
Contact API
● Create Contact
● Update Contact
● Get Contact
● Search Contact
● Remove Contact
Address Management
Requirement
Contact Address Data
● Street
● City
● Province
● Country
● Postal Code
Address API
● Create Address
● Update Address
● Get Address
● List Address
● Remove Address
Membuat Project
Membuat Project
● Buat folder belajar-nodejs-restful-api
● npm init
● Buka package.json, dan tambah type module
Menambah Package Joi
● npm install joi
● https://www.npmjs.com/package/joi
Menambah Package ExpressJS
● npm install express
● npm install --save-dev @types/express
● https://www.npmjs.com/package/express
Menambah Package Prisma
● npm install --save-dev prisma
● https://www.prisma.io/
Menambah Package Winston
● npm install winston
● https://www.npmjs.com/package/winston
Menambah Package BCrypt
● npm install bcrypt
● npm install --save-dev @types/bcrypt
● https://www.npmjs.com/package/bcrypt
Menambah Package UUID
● npm install uuid
● npm install --save-dev @types/uuid
● https://www.npmjs.com/package/uuid
Menambah Library Jest untuk Unit Test
● npm install --save-dev jest @types/jest
● https://www.npmjs.com/package/jest
Menambah Library Babel
● npm install --save-dev babel-jest @babel/preset-env
● https://babeljs.io/setup#installation
Menambah Library Supertest
● npm install --save-dev supertest @types/supertest
● https://www.npmjs.com/package/supertest
User API Spec
Contact API Spec
Address API Spec
Setup Database
User Model
Contact Model
Address Model
Setup Project
Kode : Setup Prisma
Kode : Setup Winston
Kode : Setup Express
Setup Prisma Log
● https://www.prisma.io/docs/concepts/components/prisma-client/working-with-prismaclient/logg
ing
Register User API
Login User API
Get User API
Update User API
Logout User API
Create Contact API
Get Contact API
Update Contact API
Remove Contact API
Search Contact API
Create Address API
Get Address API
Update Address API
Remove Address API
List Address API
Manual Test
Materi Selanjutnya
Materi Selanjutnya
● Belajar Library / Package Lainnya
● NodeJS MongoDB
● Dan lain-lain

You might also like