FateMatch AI - Penganalisis Kompatibilitas Servant
Aplikasi yang menganalisis kompatibilitas Servant menggunakan AI
Bagikan proyek ini:
Tentang Proyek
๐ฎ FateMatch AI โ Penganalisis Kompatibilitas Servant

Aplikasi pencocokan kepribadian berbasis AI yang menentukan Servant Fate/Grand Order mana yang paling cocok dengan kepribadian pengguna. Dibangun menggunakan React (Frontend) dan Flask (Backend) โ dengan bumbu roasting AI ekstra ๐
๐จโ๐ป Identitas Pembuat
| Username Master |
|---|
| Fanthom |
๐ง Ringkasan
FateMatch AI adalah sistem pakar sederhana yang menganalisis kepribadian pengguna dan mencocokkannya dengan Servant yang paling kompatibel dari semesta Fate/Grand Order. Selain analisis kompatibilitas, sistem juga menghasilkan penjelasan logis dan kalimat roasting lucu dari AI untuk membuat pengalaman pengguna lebih menarik.
Pengguna hanya perlu memberikan:
- Nama Master / nama panggilan
- Deskripsi singkat kepribadian
- (Opsional) Umpan balik apakah hasilnya akurat
โ๏ธ Teknologi yang Digunakan
Backend
- Python 3.x
- Flask
- Flask-CORS
- OpenAI API (untuk penalaran + roasting)
Frontend
- React + Vite
- Tailwind CSS
- Axios
- Framer Motion (animasi UI)
๐ Cara Menjalankan Proyek
1๏ธโฃ Jalankan Backend (Flask)
cd backend
pip install flask flask-cors openai
python app.py
Backend akan berjalan di:
http://localhost:5000
2๏ธโฃ Jalankan Frontend (React)
cd frontend
npm install
npm run dev
Frontend akan berjalan di:
http://localhost:5173
๐งฉ Struktur Proyek
FateMatch-AI/
โโโ backend/
โ โโโ app.py
โ โโโ requirements.txt
โ
โโโ frontend/
โ โโโ src/
โ โ โโโ App.jsx
โ โ โโโ components/
โ โ โ โโโ ResultCard.jsx
โ โ โ โโโ LoadingScreen.jsx
โ โ โโโ ...
โ โโโ package.json
โ
โโโ README.md
๐ง Alur Kerja Sistem
- Pengguna memberikan nama Master dan deskripsi kepribadian mereka.
- Sistem menggunakan penalaran AI untuk menentukan Servant yang paling kompatibel.
- AI menghasilkan penjelasan kompatibilitas + roasting humoris.
- Hasil ditampilkan dalam Result Card dengan opsi:
- ๐ Cocok
- ๐ Tidak Cocok
๐งพ Endpoint API
1๏ธโฃ POST /analyze_match
Menganalisis kepribadian pengguna dan menentukan Servant yang cocok.
Request Body
{
"master_name": "Fanthom",
"personality": "Kesel dan marah, tapi tetap berjuang walau sendirian."
}
Response
{
"servant": {
"name": "Nezha",
"className": "Lancer",
"image": "https://fategrandorder.fandom.com/nezha.png"
},
"compatibility": {
"reason": "Nezha cocok dengan Master karena keduanya sama-sama pantang menyerah.",
"roast": "Nezha sering dianggap 'Lancer yang bunuh diri', kayaknya kalian dua sekawan."
}
}
2๏ธโฃ POST /feedback_match
Menyimpan umpan balik pengguna tentang apakah hasil pencocokan akurat.
Request Body
{
"master_name": "Fanthom",
"servant_name": "Jeanne d'Arc",
"match": true
}
Response
{
"status": "success",
"message": "Feedback diterima dan disimpan ke feedback_data.json"
}
๐งฉ Fitur Tambahan
๐ฌ Sistem Umpan Balik (Feedback)
- Pengguna dapat memberikan suara apakah hasil pencocokan akurat atau tidak.
- Umpan balik disimpan untuk peningkatan iterasi di masa mendatang.
๐ Tombol Bagikan (Share)
- Hasil dapat dibagikan langsung ke media sosial (Twitter, WhatsApp, dll.).
- Diimplementasikan menggunakan Web Share API untuk kenyamanan.
โณ Animasi Pemuatan (Loading)
- Saat AI memproses analisis, animasi pemuatan layar penuh akan ditampilkan.
๐ด Tampilan Hasil Terpusat
- Hasil akhir muncul dalam kartu terpusat untuk presentasi yang bersih dan estetis.
๐งฌ Logika Pencocokan AI
- Teks kepribadian pengguna diproses dengan model AI untuk mendeteksi sifat kepribadian utama.
- Sifat-sifat ini dipetakan terhadap database kepribadian Servant FGO.
- Pencocokan kompatibilitas terdekat dipilih, beserta penalaran dan roasting.
- Umpan balik pengguna membantu menyempurnakan akurasi pencocokan di masa mendatang.
๐ Contoh File Feedback (feedback_data.json)
[
{
"master_name": "Fanthom",
"servant_name": "Jeanne d'Arc",
"match": true
},
{
"master_name": "Rin",
"servant_name": "Gilgamesh",
"match": false
}
]