Skip to content

rifqifarhansyah/ChatGPT-Lite

 
 

Repository files navigation

Tubes3_13521049


Table of Contents

  1. General Info
  2. Creator Info
  3. Features
  4. Technologies Used
  5. Setup
  6. Usage
  7. Video Capture
  8. Screenshots
  9. Structure
  10. Project Status
  11. Room for Improvement
  12. Acknowledgements
  13. Contact

General Information

Sebuah aplkasi CHatGPT sederhana yang dengan mengaplikasikan pendekatan QA yang paling sederhana tersebut. Pencarian pertanyaan yang palig mirip degan pertanyaan yang diberikan penggunaka dilakukan dengan algoritma pencocokan string Knuth-Morris-Pratt (KMP) dan Boyer-Moore (BM). Regex digunakan untuk menentukan format dari pertanyaan (akan dijelaskan lebih lanjut pada bagian fitur aplikasi). Jika tidak ada satupun pertanyaan pada database yang exact match dengan pertanyaan pengguna melalui algoritma KMP ataupun BM, maka gunakan pertanyaan termirip dengan kesamaan setidaknya 90%. Apabila tidak ada pertanyaan yang kemiripannya di atas 90%, maka chatbot akan memberikan maksimum 3 pilihan pertanyaan yang paling mirip untuk dipilih oleh pengguna. Aplikasi ini berbasis web dengan menggunakan React serta Tailwind CSS untuk frontend dan Next.js untuk backend. ChatGPT sederhana ini digunakan untuk memenuhi tugas besar 3 mata kuliah IF2211 Strategi Algoritma 2022/2023.

Creator Information

Nama NIM E-Mail
Brian Kheng 13521049 13521049@std.stei.itb.ac.id
Muhammad Rizky Sya'ban 13521119 13521119@std.stei.itb.ac.id
Mohammad Rifqi Farhansyah 13521166 13521166@std.stei.itb.ac.id

Features

  • Autentifikasi pengguna dengan menggunakan akun Google
  • Memilih Algoritma yang akan digunakan untuk mencari string dengan kemiripan tertinggi
  • Tombol untuk Sign Out / Change Account
  • Tombol New Chat untuk menambahkan room chat baru untuk akun pengguna
  • Memulihkan History Chat dari database untuk tiap room chat pengguna
  • Menghapus room chat dari database untuk pengguna tertentu
  • Mengubah title dari room chat pengguna
  • Menambah dan menghapus pertanyaan serta jawaban dari database
  • fitur kalkulator dan penentu hari yang dapat digunakan pengguna

Technologies Used

Note: The version of the libraries above is the version that we used in this project. You can use the latest version of the libraries.

Setup

  1. Clone Repository ini dengan menggunakan command berikut
    git clone https://github.com/briankheng/Tubes3_13521049.git
  2. Buka Folder "Tubes3_13521049" di Terminal
  3. Install Packages yang diperlukan
    npm i
  4. Jalanakan Aplikasi dengan menggunakan command
    npm run dev
  5. Buka http://localhost:3000 pada Browser Anda
  6. Cara alternatif dapat melalui pranala berikut

Usage

  1. Tekan tombol Login pada landing page untuk masuk ke aplikasi
  2. Pilih algoritma yang akan digunakan untuk mencari string dengan kemiripan tertinggi
  3. Masukkan pertanyaan pada chatbox dan tekan tombol Enter atau icon send untuk mengirimkan pertanyaan
  4. Apabila ingin menambah chat baru, tekan tombol New Chat pada sidebar
  5. Jika ingin mengubah title dari room chat, tekan icon edit Title pada sidebar
  6. Jika ingin menghapus room chat, tekan icon delete pada sidebar
  7. Tombol yang bertuliskan email pada sidebar digunakan untuk Sign Out / Change Account

Video Capture

ChatGPT Gif

Screenshots

Gambar 1. Landing Page

Gambar 2. Window Utama

Gambar 3. Chat Window

Gambar 4. Edit Title

Gambar 5. Algorithm Select

Gambar 6. Sign Out / Change Account

Structure

├───.next
├───doc
├───img
├───node_modules
├───prisma
├───public
└───src
    ├───assets
    ├───components
    │   ├───chat-window
    │   │   ├───chat-container
    │   │   ├───chat-window-page
    │   │   ├───input-box
    │   │   └───send-button
    │   └───sidebar
    │       ├───account-select
    │       ├───algorithm-select
    │       ├───chat-history
    │       ├───history-container
    │       ├───new-chat-button
    │       └───sidebar-page
    ├───context
    ├───hooks
    ├───libs
    │   ├───algorithms
    │   │   └───string-matching
    │   └───handler
    ├───pages
    │   ├───api
    │   │   ├───auth
    │   │   ├───chat
    │   │   └───message
    │   ├───chat
    │   └───home
    └───styles

Project is: complete

Perbaikan yang dapat dilakukan pada program ini adalah:

  • Menambahkan fitur-fitur tambahan agar bisa lebih menyerupai ChatGPT
  • Terima kasih kepada Tuhan Yang Maha Esa
  • Terima kasih kepada Dr. Ir. Rinaldi Munir, M.T. serta Dr. Nur Ulfa Maulidevi, S.T, M.Sc selaku dosen K1 dan K2 IF2211 Strategi Algoritma 2022/2023

Contact

Kontak kami : Kitzuiteyo, nee kitzuiteyo.. Honey, Baby you Baby you
2023


Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.4%
  • JavaScript 1.1%
  • CSS 0.5%