{"id":21432423,"url":"https://github.com/mikeleo03/chatgpt-clone-string-matching","last_synced_at":"2026-05-22T05:03:37.457Z","repository":{"id":162233417,"uuid":"627364642","full_name":"mikeleo03/ChatGPT-Clone-String-Matching","owner":"mikeleo03","description":"Tugas Besar 3 Strategi Algoritma IF2211 - Simple ChatGPT Clone using KMP and Boyer-Moore String Matching Algorithms","archived":false,"fork":false,"pushed_at":"2023-05-05T15:25:13.000Z","size":5702,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T08:43:09.855Z","etag":null,"topics":["boyer-moore-algorithm","chatgpt","kmp-algorithm","regex","web-based"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikeleo03.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-13T10:08:46.000Z","updated_at":"2024-04-07T04:42:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"2a5ad3f0-01c3-4466-b02a-b1389e625015","html_url":"https://github.com/mikeleo03/ChatGPT-Clone-String-Matching","commit_stats":null,"previous_names":["mikeleo03/chatgpt-clone-string-matching"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeleo03%2FChatGPT-Clone-String-Matching","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeleo03%2FChatGPT-Clone-String-Matching/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeleo03%2FChatGPT-Clone-String-Matching/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeleo03%2FChatGPT-Clone-String-Matching/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikeleo03","download_url":"https://codeload.github.com/mikeleo03/ChatGPT-Clone-String-Matching/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243945321,"owners_count":20372890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boyer-moore-algorithm","chatgpt","kmp-algorithm","regex","web-based"],"created_at":"2024-11-22T23:18:29.911Z","updated_at":"2026-05-22T05:03:32.420Z","avatar_url":"https://github.com/mikeleo03.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple ChatGPT Clone using KMP and Boyer-Moore String Matching Algorithms\n\u003e *Source Code* ini dibuat oleh kami, Kelompok GatauNamanya, untuk memenuhi Tugas Besar 3 Strategi Algoritma yaitu mengaplikasikan\n\u003e String Matching dan Regular Expression dalam Pembuatan ChatGPT Sederhana. Telah dilakukan *deployment* pada aplikasi web yang dibangun pada tautan [berikut](https://johaneslee.me/)\n\n## Daftar Isi\n- [Author](#author)\n- [Deskripsi Singkat](#deskripsi-singkat)\n- [Sistematika File](#sistematika-file)\n- [Requirements](#requirements)\n- [Cara Mengkompilasi dan Menjalankan Program](#cara-mengkompilasi-dan-menjalankan-program)\n- [Cara Mengoperasikan Program](#cara-mengoperasikan-program)\n- [Screenshots](#screenshots)\n\n## Author\n| NIM      | Nama                       | Github Profile                               |\n| -------- | ---------------------------|----------------------------------------------|\n| 13521108 | Michael Leon Putra Widhi   | [mikeleo03](https://github.com/mikeleo03)    |\n| 13521148 | Johanes Lee                | [Enliven26](https://github.com/Enliven26)    |\n| 13521172 | Nathan Tenka               | [Nat10k](https://github.com/Nat10k)          |\n\n## Deskripsi Singkat\nDalam 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.\nPerhitungan tingkat kemiripan dibebaskan kepada anda asalkan dijelaskan di laporan, namun disarankan menggunakan salah satu dari algoritma Hamming Distance, Levenshtein Distance, ataupun Longest Common Subsequence.\n\n## Sistematika File\n```bash\n.\n├─── doc\n├─── src\n│   ├─── backend\n│   │   ├─── node_modules\n│   │   ├─── src\n│   │   │   ├─── algorithms\n│   │   │   ├─── authz\n│   │   │   ├─── models\n│   │   │   ├─── routes\n│   │   │   ├─── Database.js\n│   │   │   └─── index.js\n│   │   ├─── package-lock.json\n│   │   └─── package.json\n│   └─── frontend\n│       ├─── dist\n│       ├─── node_modules\n│       ├─── public\n│       ├─── src\n│       │   ├─── assets\n│       │   ├─── components\n│       │   ├─── pages\n│       │   ├─── requests\n│       │   ├─── App.css\n│       │   ├─── App.js\n│       │   ├─── index.css\n│       │   └─── index.js\n│       ├─── .gitignore\n│       ├─── package-lock.json\n│       ├─── package.json\n│       ├─── postcss.config.js\n│       ├─── README.md\n│       └─── tailwind.config.js\n├─── .gitignore\n└─── README.md\n```\n\n## Requirements\n- React.js (versi 18.2.0)\n- Tailwind CSS (versi 3.3.1)\n- express.js (versi 4.18.2)\n- express-jwt (versi 8.4.1)\n- mongoDB (versi 5.3.0)\n\n## Cara Mengkompilasi dan Menjalankan Program\nLakukan *clone repository* melalui terminal dengan *command* berikut\n``` bash\n$ git clone https://github.com/mikeleo03/Tubes3_GatauNamanya.git\n```\n### Menjalankan *Frontend*\n1. Lakukan pemindahan direktori ke `src` milik sisi *frontend* dengan *command* berikut\n   ``` bash\n    $ cd src/frontend\n   ```\n2. Lakukan kompilasi dan unduh beberapa modul yang diperlukan dengan menjalankan *command* berikut\n   ``` bash\n    $ npm install\n    $ npm start\n   ```\n### Menjalankan *Backend*\n1. Lakukan pemindahan direktori ke `src` milik sisi *backend* dengan *command* berikut\n   ``` bash\n    $ cd src/backend\n   ```\n2. Lakukan kompilasi dan unduh beberapa modul yang diperlukan dengan menjalankan *command* berikut\n   ``` bash\n    $ npm install\n    $ npm run start-dev\n   ```\n\n## Cara Mengoperasikan Program\n1. *Login* ke *website* dengan akun Auth0 atau gunakan autentikasi Google. Jika proses *login* berhasil, maka pengguna akan dihadapkan pada layar utama program.\n2. Pilih algoritma pencarian yang diinginkan pada bagian bawah kanan aplikasi.\n3. Ketikkan pertanyaan pada kolom masukan yang tersedia dan tunggu beberapa saat hingga Anda memperoleh jawaban dari *chatbot*\n4. Untuk menambahkan *chat* baru, tekan tombol ```New Chat +``` di sebelah kanan atas.\n5. Untuk menghapus *chat*, tekan tombol tempat sampah di sebelah kanan chat yang ingin dihapus.\n6. Untuk memberi nama sebuah halaman *chat*, tekan kolom nama yang tersedia di sebelah kanan atas.\n\n## Screenshots\n![screenshots](doc/screenshots.PNG)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeleo03%2Fchatgpt-clone-string-matching","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikeleo03%2Fchatgpt-clone-string-matching","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeleo03%2Fchatgpt-clone-string-matching/lists"}