BookByte Web App 💵📚

Kelompok 10 Member List :

No Nama NIM Role
1. Muhammad Al Ghifari Fausta 21/477892/TK/52646 Project leader + Fullstack Developer
2. Laily Medha Nur Ihsanti 21/474650/TK/52363 UI/UX Designer + Frontend Developer
3. Muhammad Ismail Azmi 21/473264/TK/52149 Fullstack Developer
4. Rhafif Prasetyo 21/477018/TK/52532 Fullstack Developer
5. Thoriqutsani Anastyo Rasnan 21/479154/TK/52816 Fullstack Developer

Deskripsi Aplikasi

Aplikasi kasir berbasis web yang terintegrasi dengan MongoDB sebagai database. Aplikasi ini ditujukan untuk bisnis toko buku. Dengan memanfaatkan role di toko buku, yakni admin dan kasir aplikasi ini dapat memudahkan urusan manajemen buku dan pemantauan transaksi.

Tech Stack

  • Node.js
  • Next.js
  • Express.js
  • Figma
  • Vercel
  • Tailwind CSS
  • MongoDB

Links

How to run this project ⁉️

first, u need to clone this repo. use the command below

git clone https://github.com/mastamaru/BookBytes-Kelompok10

Account Login

Admin
username : john_doe
password : password123
Kasir
username : login
password : logindummy

Frontend

  1. Go to frontend directory
cd frontend
  1. Install the NPM package
npm install
  1. Run the App
npm run dev
  1. If u not redirected to the landing page, u can open this link with your browser
http://localhost:3000/

Backend

  1. Go to backend directory
cd backend
  1. Install the NPM package
npm install
  1. Run the App
npm start
  1. This app will running on port 8000. Use the postman app for testing the API, endpoint are provided below.
http://localhost:8000/{use the endpoint here}

📝List of Feature and How to Access with The Endpoint

  1. Input a New Book to Catalog
    menambahkan buku ke daftar katalog
    Endpoint :
    POST /books
    

  2. Find All the Available Book
    mencari daftar buku yang tersedia pada katalog buku. Disini tersedia opsi untuk melakukan sorting berdasarkan genre, mencari buku berdasarkan id buku, mencari buku berdasarkan judul, melakukan filter buku berdasarkan genre.
    Endpoint :
    GET /books
    
    Endpoint for Finding Book by ID :
    GET /books/:bookID
    
    Endpoint for Finding Book by Title :
    GET /books/search then specify the title (format as json) { "title": "book title"}
    
    Endpoint for Sort by Genre :
    GET /books/sort/genre
    
    Endpoint for Filter by Genre :
    GET /books/genre/:genre
    
  3. Update the Book Data based on bookID
    Melakukan perubahan (update) terhadap data buku sesuai id yang ingin diubah.
    Endpoint :
    PUT /books/:bookID
    
  4. Delete the Book Data based on bookID
    Menghapus buku dari katalog sesuai id yang diinginkan.
    Endpoint :
    DELETE /books/:bookID
    
  5. Input a New Transaction
    Kasir dapat menambahkan transaksi baru dengan menginputkan buku dan jumlah buku yang dibeli oleh customer.
    Endpoint :
    POST /transactions
    
  6. Find All the Available Transaction from Record
    Mendapatkan seluruh data transaksi yang telah terekam sebelumnya
    Endpoint :
    GET /transactions
    
  7. Update the Transaction based on Transaction ID (Soon will be update the feature logic to avoid transaction manipulation) Melakukan update transaksi berdasarkan id transaksi, mengubah buku yang dibeli dan jumlahnya.
    Endpoint :
    PUT /transactions/:transactionID
    
  8. Delete the Transaction from Record based on Transaction ID Menghapus transaksi dari record berdasarkan id transaksi.
    Endpoint :
    DELETE /transactions/:transactionID