Repository ini dibuat untuk menyimpan kode dan juga dokumentasi dari Proyek Kedua pada Mata Kuliah "Pemrograman Integratif" di Institut Teknologi Sepuluh Nopember.
This repository was created to store the code and documentation of the Second Project on the “Integrative Programming” Course at the Sepuluh Nopember Institute of Technology. In this project, I was assigned to make API or Application Programming Interface. In this project, I use the API to make Notes or in Indonesian it is Notes.
This Notes API project is written in the JAVASCRIPT Programming Language with EcmaScript 6 standard due to the many uses of this language in making Web Servers and also Web Applications and I took advantage of this utility to create this Notes API. Making this project is also done by utilizing NodeJS as a runtime that allows Javascript to be run in various environments that are not limited to the browser environment only.
This project will later allow users to create, read, edit, and also delete (CRUD) various kinds of records stored in the API. This API will be hosted so that later it can be directly accessed using POSTMAN or using the creation of Front-end Website that utilizes the caching API. Later the Server and Client will conduct data transactions via the HTTP protocol.
There are 4 methods used in making this project, namely:
This project uses the HAPI Framework because it provides a complete environment for developing complex web servers. When using Hapi, we don’t need other tools to apply the authentication, tokenize, cors, layers and so on.
In addition, this project will use NodeJS’s default Package Manager, namely NPM which is used to make package settings to make it easier to manage and monitor. There are also several package dependencies that are used to make this API run which will be installed automatically, namely ESlint which is used to perform fire and coercion Code Styling Javascript, nodemon which is used to ensure the server is running continuously despite code changes, Hapi which of course is used as the Framework of this API, and also nanoid which is used to ensure the ID of each existing record must be unique.
git --version
git clone https://github.com/2021-IT-Integrative-Programming/project-2-BryanYehuda.git
node -v
npm -v
cd
until it enters the project-2-BryanYehuda folder)
npm install
node ./src/server.js
sudo apt install git-all
git --version
git clone https://github.com/2021-IT-Integrative-Programming/project-2-BryanYehuda.git
sudo apt install nodejs
sudo apt install npm
node -v
npm -v
cd
until it enters the project-2-BryanYehuda folder)
npm install
npm run start-prod
This Repository has MIT License.
This license allows the user to make any changes to the program code. This license only requires the user to include the license and author’s copyright in the redistributed code and there is no prohibition against using the trademark of the original author. In addition, the user also has no right to sue the manufacturer when there is damage to the software.
Repository ini dibuat untuk menyimpan kode dan juga dokumentasi dari Proyek Kedua pada Mata Kuliah “Pemrograman Integratif” di Institut Teknologi Sepuluh Nopember. Pada proyek kali ini, saya ditugaskan untuk melakukan pembuatan API atau kepanjangannya Application Programming Interface. Pada proyek ini, saya memanfaatkan penggunaan API untuk melakukan pembuatan Notes atau dalam Bahasa Indonesianya adalah Catatan.
Dalam Readme ini akan dijelaskan mengenai apa itu Notes API, struktur repository, Method dan framework apa saja yang digunakan, cara instalasi, dokumentasi penggunaan, dan juga tempat hosting dari Notes API ini. Proyek ini sudah dilakukan testing dan tidak ditemukan adanya Bug ataupun error yang mengganggu. Terima kasih atas waktu dan perhatiannya.
Proyek Notes API ini dituliskan dalam Bahasa Pemrograman JAVASCRIPT dengan standard EcmaScript 6 dikarenakan banyaknya kegunaan bahasa ini dalam melakukan pembuatan Web Server dan juga Web Application dan saya memanfaatkan kegunaan ini untuk membuat Notes API ini. Pembuatan Proyek ini juga dilakukan dengan memanfaatkan NodeJS sebagai runtime yang memungkinkan Javascript untuk bisa dijalankan di berbagai macam Environment yang tidak terbatas pada lingkungan Browser saja.
Proyek ini nanti akan memungkinkan user untuk membuat, membaca, melakukan editing, dan juga menghapus (CRUD) berbagai macam catatan yang tersimpan di dalam API. API ini akan dilakukan hosting sehingga nanti bisa langsung dilakukan akses menggunakan POSTMAN ataupun menggunakan pembuatan Website Front-end yang memanfaatkan caching API. Nantinya Server dan juga Client akan melakukan transaksi data melalui protokol HTTP.
Ada 4 Method yang digunakan dalam pembuatan Proyek ini yaitu:
Proyek ini menggunakan Framework HAPI karena menyediakan environment yang lengkap untuk mengembangkan web server yang kompleks. Bila menggunakan Hapi, kita tak perlu tools lain untuk menerapkan layer authentication, tokenize, cors, dan lain sebagainya.
Selain itu Proyek ini akan menggunakan Package Manager bawaan NodeJS yaitu NPM yang digunakan untuk melakukan pengaturan package agar lebih mudah diatur dan diawasi. Ada juga beberapa package Dependencies yang digunakan agar API ini bisa berjalan yang nantinya akan terinstall secara otomatis yaitu ESlint yang digunakan untuk melakukan perapian dan pemaksaan Code Styling Javascript, nodemon yang digunakan untuk memastikan Server berjalan terus-menerus meskipun ada penggantian kode, Hapi yang tentu saja digunakan sebagai Framework dari API ini, dan juga nanoid yang digunakan untuk memastikan ID setiap catatan yang ada pasti unique.
git --version
git clone https://github.com/2021-IT-Pemrograman-Integratif/project-2-BryanYehuda.git
node -v
npm -v
cd
sampai masuk ke folder project-2-BryanYehuda)
npm install
node ./src/server.js
sudo apt install git-all
git --version
git clone https://github.com/2021-IT-Pemrograman-Integratif/project-2-BryanYehuda.git
sudo apt install nodejs
sudo apt install npm
node -v
npm -v
cd
sampai masuk ke folder project-2-BryanYehuda)
npm install
npm run start-prod
Menggunakan Method Post untuk menambahkan catatan A
Bisa dilihat response mengembalikan OK 200
Menggunakan Method Post untuk menambahkan catatan B
Bisa dilihat response mengembalikan OK 200
Menggunakan Method Get untuk melihat semua Catatan
Bisa dilihat response mengembalikan OK 200
Menggunakan Method Get dengan link parameter ID A untuk melihat Catatan A
Bisa dilihat response mengembalikan OK 200
Menggunakan Method Get dengan link parameter ID yang tidak ada
Bisa dilihat response mengembalikan NOT FOUND 404
Menggunakan Method Put untuk mengedit isi dari Catatan A
Bisa dilihat response mengembalikan OK 200
Menggunakan Method Get untuk melihat perubahan setelah diedit
Bisa dilihat response mengembalikan OK 200
Menggunakan Method Delete untuk menghapus Catatan A
Bisa dilihat response mengembalikan OK 200
Repository ini memiliki Lisensi MIT.
Lisensi ini membolehkan pengguna untuk melakukan perubahan apapun pada kode program. Lisensi ini hanya mewajibkan pengguna untuk menyertakan lisensi dan copyright pembuat pada kode yang didistribusikan ulang dan tidak ada larangan untuk menggunakan trademark dari pembuat asli. Selain itu pengguna juga tidak berhak untuk menuntut pembuat ketika terjadi kerusakan pada perangkat lunak tersebut.