Frontend untuk Easyfix, platform bug resolution assistant yang membantu developer mencari dan menyelesaikan bug lebih cepat dengan:
- Backend FastAPI (API bug localization / Bug Knowledge Graph)
- Firebase Authentication (Email/Password)
- Firestore (data organization & project)
- Visualisasi graph hubungan query → bug → developer
Aplikasi ini dibangun dengan Next.js App Router dan Tailwind CSS.
Pastikan sudah terinstall:
- Node.js
>= 18 - npm / yarn / pnpm
- Backend FastAPI kamu sudah jalan (misal di
http://127.0.0.1:8000)- Endpoint login:
POST /auth/login - Sudah terhubung ke Firebase Auth & Firestore di sisi backend.
- Endpoint login:
git clone <URL_REPO_KAMU>
cd <nama-folder-repo>
# dengan npm
npm install
# atau dengan yarn
yarn
# atau dengan pnpm
pnpm install
NEXT_PUBLIC_API_BASE_URL=http://127.0.0.1:8000
# npm
npm run dev
# atau yarn
yarn dev
# atau pnpm
pnpm devAplikasi frontend untuk Easyfix, platform bug resolution assistant yang terintegrasi dengan:
- Backend FastAPI (API bug localization)
- Firebase Authentication (Email/Password)
- Firestore (data organisasi & project)
Aplikasi ini dibangun dengan Next.js (App Router) dan Tailwind CSS.
- Login menggunakan email & password via Firebase Auth.
- Frontend memanggil backend FastAPI lewat endpoint:
POST /api/auth/login(Next.js → FastAPI/auth/login)
- Response login menyimpan:
id_token(JWT Firebase) → disimpan sebagai cookieid_tokenrefresh_token→ disimpan di cookierefresh_tokenexpires_in,local_id,emailorganization_name,project_name(jika sudah terhubung di Firestore)
Setelah login:
- Jika
project_name === null→ user diarahkan ke halaman/onboarding. - Jika
project_nametersedia → user langsung diarahkan ke/home.
Halaman onboarding berisi beberapa step:
-
Add Project
User mengisi:- Organization Name
- Project Name
(nama project akan jadi basis penamaan database/slug di backend)
-
Setup Bug Data
- Tombol Check Data untuk mengecek apakah environment bug data sudah disetup admin.
- Jika “Ready” → tombol Save and Continue akan mengarahkan ke
/home.
-
(Opsional) Start Using Easyfix
- Informasi bahwa admin sedang menyiapkan data bug (waiting 2x24 jam).
- Tombol Continue →
/home.
- Halaman
/home(belum dijelaskan detail di README ini, tapi umumnya berisi dashboard). - Ada komponen graph (mis.
EasyfixBugGraph) yang menampilkan:- Node query
- Node bug
- Node developer
- Edge
query -> bug(relasi "matches") - Edge
dev -> bug(relasi "assigned_to")
- Graph di-render menggunakan Cytoscape (atau library graph lain) dan diatur ulang posisinya (layout concentric + custom positioning dev node di sekitar bug).
- Next.js (App Router,
app/directory) - React (Client Components dengan
"use client") - Tailwind CSS (utility-first styling)
- Next.js Route Handlers untuk API:
app/api/auth/login/route.js→ proxy ke backend FastAPI
- FastAPI backend (di luar repo ini, tapi digunakan sebagai API utama)
- Firebase Authentication (Email/Password)
- Firestore (organizations, projects, dsb.)
Struktur kemungkinan (sesuaikan dengan repo kamu):
.
├─ app/
│ ├─ layout.jsx
│ ├─ page.jsx # landing / home (opsional)
│ ├─ login/
│ │ └─ page.jsx # halaman login
│ ├─ onboarding/
│ │ └─ page.jsx # halaman onboarding multi-step
│ ├─ home/
│ │ └─ page.jsx # halaman home/dashboard
│ └─ api/
│ └─ auth/
│ └─ login/
│ └─ route.js # Next.js API, proxy ke FastAPI /auth/login
│
├─ components/
│ ├─ OnboardingLayout.js # layout sidebar + timeline step onboarding
│ └─ EasyfixBugGraph.jsx # komponen graph bug-query-developer (opsional)
│
├─ app/_lib/
│ ├─ auth-client.js # helper login() untuk FE
│ └─ fetcher.js # apiFetch untuk call ke FastAPI
│
├─ styles/
│ └─ globals.css
│
├─ tailwind.config.js
├─ postcss.config.js
├─ next.config.js
├─ package.json
└─ README.md