An open API service indexing awesome lists of open source software.

https://github.com/wendietibrias/grha-coding-test


https://github.com/wendietibrias/grha-coding-test

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

LIBRARY MANAGEMENT (BOOKS) Documentation

Bapak/Ibu jika mengunakan database yang telah saya export maka Bapak/Ibu dapat mengunakan akun berikut ini :


email: [email protected], password: wendi#123

Client Setup






Pastikan Bapak/Ibu memiliki versi node.js 20.13.1. Bapak/Ibu dapat menginstallnya dengan mengunakan nvm (node version manager)


Saya pada project kali ini mengunakan vite sebagai frontend tools


langkah pertama seelah anda melakukan clone pada repository ini adalah pada client,anda dapat membuka terminal dan mengetikan command berikut : npm i --save


Langkah selanjutnya adalah Bapak/Ibu dapat mengcopy enviroment variabel dengan file .env.example mengunakan command cp .env.example .env


run project dengan command npm run dev

Daftar packages yang saya gunakan :


  • Sass --> npm i --save sass

  • react-router-dom --> npm i --save react-router-dom

  • axios --> npm i --save axios

  • react-query --> npm i --save react-query

  • react-loading --> npm i --save react-loading

  • react-hook-form --> npm i --save react-hook-form

  • zustand --> npm i --save zustand

  • react-select --> npm i --save react-select

  • remixicon --> npm i --save remixicon



Daftar Halaman yang ada



  • login --> /auth/

  • register --> auth/register

  • home (book) --> /

  • category --> /category

  • create book --> /book/create

  • update book --> /book/update/:id

  • detail book --> /book/:id




Server Setup





Pada backend project ini saya mengunakan framework Nest.js


Pastikan Bapak/Ibu telah menginstall Nest.js pada komputer Bapak/Ibu dengan command berikut ini : npm i -g @nestjs/cli


Langkah selanjutnya copy .env.example ke .env : cp .env.example .env


Ketikan command npm install --save

note: pastikan anda membuat terlebih dahulu database pada phpmyadmin atau laragon,hal ini dikarenakan saya mengunakan typeorm sebagai ORM dan typeorm akan selalu meminta untuk membuat database terlebih dahulu

Untuk upload gambar saya mengunakan layanan cloud yaitu Cloudinary


Bapak/Ibu dapat mengunakan api_key dan api_secret yang telah saya sediakan pada .env.example

run project dengan command : npm run start:dev

Daftar packages yang saya gunakan :



  • @nestjs/jwt --> npm i --save @nestjs/jwt

  • @nestjs/config --> npm i --save @nestjs/config

  • @nestjs/swagger --> npm i --save @nestjs/swagger

  • @nestjs/typeorm --> npm i --save @nestjs/typeorm

  • bcrypt --> npm i --save bcrypt

  • class-transformer class-validator --> npm i --save class-transformer class-validator

  • npm i --save mysql2 typeorm

  • cloudinary --> npm i --save cloudinary

  • Daftar routing yang dapat diaccess :



    • /v1/api/auth/login --> POST

    • /v1/api/auth/register --> POST
    • /v1/api/book/all --> GET

    • /v1/api/book/create --> POST

    • /v1/api/book/delete/:id --> DELETE

    • /v1/api/book/update/:id --> PATCH
    • /v1/api/category/all --> GET

    • /v1/api/category/select-option --> GET

    • /v1/api/category/create --> POST

    • /v1/api/category/delete/:id --> DELETE

      • base api URL : http://localhost:8080/v1/api


        access documantasi swagger pada url berikut : http://localhost:8080/docs