41 lines
1.6 KiB
Markdown
41 lines
1.6 KiB
Markdown
# WA Dashboard Kit V6
|
|
|
|
Versi 6 fokus bikin flow dasar lebih terasa hidup.
|
|
|
|
## Added in V6
|
|
- Login page skeleton
|
|
- Frontend token helper
|
|
- Contacts create form skeleton
|
|
- Better auth notes
|
|
- Realistic next-step structure for turning into full app
|
|
|
|
## Note
|
|
Masih starter baseline, belum production-ready.
|
|
|
|
## Production Security Baseline
|
|
- `JWT_SECRET`, `WEBHOOK_VERIFY_TOKEN`, dan `WEBHOOK_SHARED_SECRET` wajib kuat.
|
|
- Di `production`, secret di atas wajib minimal 32 karakter dan tidak boleh pakai placeholder.
|
|
- `JWT_EXPIRES_IN` harus ditetapkan eksplisit sesuai kebijakan sesi.
|
|
- `PUBLIC_API_URL` dan `FRONTEND_ORIGIN` wajib `https` di `production`.
|
|
- `WEBHOOK_ALLOW_UNSIGNED` tidak boleh aktif di `production`.
|
|
- Jika SMTP dipakai di `production`, set lengkap `MAIL_HOST`, `MAIL_USER`, `MAIL_PASSWORD`, dan `MAIL_FROM`.
|
|
- Login sekarang dibatasi oleh `AUTH_LOGIN_MAX_ATTEMPTS` dan `AUTH_LOGIN_WINDOW_MINUTES`.
|
|
- Verifikasi 2FA dan forgot-password juga dibatasi lewat Redis:
|
|
`AUTH_2FA_MAX_ATTEMPTS`, `AUTH_2FA_WINDOW_MINUTES`,
|
|
`AUTH_PASSWORD_RESET_MAX_ATTEMPTS`, dan `AUTH_PASSWORD_RESET_WINDOW_MINUTES`.
|
|
- 2FA sekarang mendukung backup recovery codes satu-kali-pakai.
|
|
- Lihat `.env.example` untuk kontrak env terbaru.
|
|
|
|
## Local Run
|
|
Frontend:
|
|
`cd frontend && npm run dev`
|
|
|
|
Backend di environment ini lebih stabil lewat build output karena `tsx watch` gagal pada Node.js 25:
|
|
`cd backend && npm run local`
|
|
|
|
## Legacy Prisma Baseline
|
|
Untuk database lama yang sudah punya tabel tetapi belum punya histori `_prisma_migrations`, jalankan:
|
|
`cd backend && npm run db:baseline:legacy`
|
|
|
|
Gunakan ini hanya jika schema database memang sudah setara dengan isi folder `prisma/migrations`.
|