Giter Site home page Giter Site logo

mikeleo03 / chatgpt-clone-string-matching Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 5.57 MB

Tugas Besar 3 Strategi Algoritma IF2211 - Simple ChatGPT Clone using KMP and Boyer-Moore String Matching Algorithms

HTML 2.40% CSS 0.93% JavaScript 96.67%
boyer-moore-algorithm chatgpt kmp-algorithm regex web-based

chatgpt-clone-string-matching's Introduction

Simple ChatGPT Clone using KMP and Boyer-Moore String Matching Algorithms

Source Code ini dibuat oleh kami, Kelompok GatauNamanya, untuk memenuhi Tugas Besar 3 Strategi Algoritma yaitu mengaplikasikan String Matching dan Regular Expression dalam Pembuatan ChatGPT Sederhana. Telah dilakukan deployment pada aplikasi web yang dibangun pada tautan berikut

Daftar Isi

Author

NIM Nama Github Profile
13521108 Michael Leon Putra Widhi mikeleo03
13521148 Johanes Lee Enliven26
13521172 Nathan Tenka Nat10k

Deskripsi Singkat

Dalam tugas besar ini, dibangun sebuah aplikasi ChatGPT sederhana dengan mengaplikasikan pendekatan QA yang paling sederhana. Pencarian pertanyaan yang paling mirip dengan pertanyaan yang diberikan pengguna 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. Perhitungan tingkat kemiripan dibebaskan kepada anda asalkan dijelaskan di laporan, namun disarankan menggunakan salah satu dari algoritma Hamming Distance, Levenshtein Distance, ataupun Longest Common Subsequence.

Sistematika File

.
├─── doc
├─── src
│   ├─── backend
│   │   ├─── node_modules
│   │   ├─── src
│   │   │   ├─── algorithms
│   │   │   ├─── authz
│   │   │   ├─── models
│   │   │   ├─── routes
│   │   │   ├─── Database.js
│   │   │   └─── index.js
│   │   ├─── package-lock.json
│   │   └─── package.json
│   └─── frontend
│       ├─── dist
│       ├─── node_modules
│       ├─── public
│       ├─── src
│       │   ├─── assets
│       │   ├─── components
│       │   ├─── pages
│       │   ├─── requests
│       │   ├─── App.css
│       │   ├─── App.js
│       │   ├─── index.css
│       │   └─── index.js
│       ├─── .gitignore
│       ├─── package-lock.json
│       ├─── package.json
│       ├─── postcss.config.js
│       ├─── README.md
│       └─── tailwind.config.js
├─── .gitignore
└─── README.md

Requirements

  • React.js (versi 18.2.0)
  • Tailwind CSS (versi 3.3.1)
  • express.js (versi 4.18.2)
  • express-jwt (versi 8.4.1)
  • mongoDB (versi 5.3.0)

Cara Mengkompilasi dan Menjalankan Program

Lakukan clone repository melalui terminal dengan command berikut

$ git clone https://github.com/mikeleo03/Tubes3_GatauNamanya.git

Menjalankan Frontend

  1. Lakukan pemindahan direktori ke src milik sisi frontend dengan command berikut
     $ cd src/frontend
  2. Lakukan kompilasi dan unduh beberapa modul yang diperlukan dengan menjalankan command berikut
     $ npm install
     $ npm start

Menjalankan Backend

  1. Lakukan pemindahan direktori ke src milik sisi backend dengan command berikut
     $ cd src/backend
  2. Lakukan kompilasi dan unduh beberapa modul yang diperlukan dengan menjalankan command berikut
     $ npm install
     $ npm run start-dev

Cara Mengoperasikan Program

  1. Login ke website dengan akun Auth0 atau gunakan autentikasi Google. Jika proses login berhasil, maka pengguna akan dihadapkan pada layar utama program.
  2. Pilih algoritma pencarian yang diinginkan pada bagian bawah kanan aplikasi.
  3. Ketikkan pertanyaan pada kolom masukan yang tersedia dan tunggu beberapa saat hingga Anda memperoleh jawaban dari chatbot
  4. Untuk menambahkan chat baru, tekan tombol New Chat + di sebelah kanan atas.
  5. Untuk menghapus chat, tekan tombol tempat sampah di sebelah kanan chat yang ingin dihapus.
  6. Untuk memberi nama sebuah halaman chat, tekan kolom nama yang tersedia di sebelah kanan atas.

Screenshots

screenshots

chatgpt-clone-string-matching's People

Contributors

mikeleo03 avatar enliven26 avatar nat10k avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.