- CFS250D6Y309 - Muhamad Nadira Fabyansyah (Project Manager & AI Engineer)
- CFS134D6Y504 - Agung Arya Dwipa Laksana (Back-end Developer)
- CFS134D6Y415 - Kaka Kendra Nugraha (Front-end Developer)
- CFS296D6Y591 - Muhammad Irfan Daffa' Ardianto (Front-end Developer)
- CFS134D6Y584 - Denisyal Hendra Putra (Front-end Developer)
Frontend BeinBout mencakup:
- autentikasi (email/password + Google OAuth),
- onboarding quiz awal,
- analisis hasil AI,
- dashboard insight,
- daily journal,
- weekly checkup,
- route guard dan session handling.
- Landing page + halaman About
- Auth flow (
/login,/register,/callback) - Onboarding (
/quiz→/complete-data→/quiz-analysis) - Dashboard analytics (
/dashboard) - Daily journal (
/journal,/journal/new,/journal/:id) - Weekly checkup (
/checkup) - Custom Not Found page (
*)
- Node.js LTS
- npm
git clone https://github.com/BeinBout/Capstone-Project-FE.git
cd Capstone-Project-FE
npm install --forceVITE_API_URL=http://localhost:3000
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_keynpm run devnpm run build
npm run previewnpm run devnpm run buildnpm run previewnpm run lint
AuthOnly: wajib loginNewUserOnly: flow user baru/onboarding
- Global auth state via
AuthProvider - Verifikasi token ke endpoint
/auth/verify/me - Auto logout saat status
401
- Axios instance:
VITE_API_URL + /api/v1 - Bearer token otomatis dari
localStorage
src/services/auth/*src/services/dashboard/*src/services/landing/*
/auth/register/auth/login/auth/google-oauth/auth/verify/me/auth/logout/profile-and-inpe/profile-and-inpe/:quizId/showing-questions?type=initial|weekly/daily-journal/daily-journal/:id/dashboard/stats/dashboard/main/dashboard/chart/dashboard/is-wc-available/weekly-checkup
Capstone-Project-FE/
├── public/
├── src/
│ ├── components/
│ ├── context/
│ ├── hooks/
│ ├── layouts/
│ ├── lib/
│ ├── pages/
│ ├── routes/
│ ├── services/
│ └── styles/
├── index.html
├── package.json
├── vite.config.js
└── vercel.json- SPA rewrite sudah aktif di
vercel.json. - Isi env di Vercel:
VITE_API_URLVITE_SUPABASE_URLVITE_SUPABASE_ANON_KEY
tokenquiz_answersquiz_result