3.7 KiB
3.7 KiB
Bizone Web Handoff
Dokumen ini menyimpan konteks kerja proyek supaya engineer atau AI lain bisa lanjut tanpa mengulang discovery dari nol.
Ringkasan
- Project: website marketing
www.bizone.id - Stack: Next.js 16 App Router, React 19, TypeScript, Tailwind v4
- Repo:
https://git.iptek.co/wirabasalamah/BizOne-web.git - Branch utama:
main
Struktur penting
src/app: routes Next.jssrc/components: komponen reusablesrc/lib/site.ts: data brand, kontak, alamat, link petasrc/app/api/contact/route.ts: endpoint submit form kontaksrc/app/api/contact/captcha/route.ts: endpoint captchasrc/lib/mailer.ts: SMTP transportsrc/lib/contact.ts: captcha signing, rate limit, helper IPpublic/bizone.png: logo utamapublic/favicon.ico: favicon utamabizone-privacy-policy.md: source konten privacy policybizone-terms-and-conditions.md: source konten termsbizone-website-content.md: source copy marketing
Yang sudah dikerjakan
- Website diubah dari kumpulan HTML referensi menjadi Next.js app.
- Halaman aktif:
//features/solutions/about/contact/privacy-policy/terms-and-conditions
- Header memakai
bizone.png. - Favicon memakai
public/favicon.ico. - Navigation aktif memakai underline pada text aktif.
- Halaman kontak:
- form bisa diisi
- submit ke backend internal
- kirim email ke
info@bizone.id - SMTP
mail.bizone.id:465 - proteksi captcha sederhana
- honeypot field
- rate limit in-memory dasar
support@bizone.idsudah dihapus dari tampilan website.- Alamat kantor sudah diisi dari referensi
iptek.co/contact. - Peta kantor sudah ditambahkan ke halaman kontak.
- Privacy policy sudah disinkronkan dengan
bizone-privacy-policy.md.
Kredensial dan env
Jangan commit secret baru ke repo.
Environment yang dipakai app:
SMTP_HOST=mail.bizone.id
SMTP_PORT=465
SMTP_USER=mailer@bizone.id
SMTP_PASS=...
CONTACT_TO_EMAIL=info@bizone.id
CONTACT_FROM_EMAIL=mailer@bizone.id
CAPTCHA_SECRET=...
File contoh:
.env.example
File lokal developer:
.env.local
Command lokal
Dev:
npm run dev
Build:
npm run build
Production lokal:
npm run start -- --port 3001
Deploy server
Target deploy yang sudah dibahas:
- user Linux khusus:
bizone - app directory:
/srv/bizone-web - service name:
bizone-web - app port:
3006 - reverse proxy: Nginx existing
Update di server:
sudo -u bizone -H bash -lc 'cd /srv/bizone-web && git pull origin main && npm install && npm run build'
sudo systemctl restart bizone-web
sudo systemctl status bizone-web
Contoh install SSL:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d bizone.id -d www.bizone.id
Git
Git user yang dipakai untuk commit lokal:
Wira Irawanwira.irawan@gmail.com
Remote origin:
https://git.iptek.co/wirabasalamah/BizOne-web.git
Catatan operasional
next devsempat crash setelah.nextdibersihkan karena Turbopack cache issue. Untuk verifikasi stabil,next startproduction lebih aman.- CAPTCHA saat ini cukup untuk proteksi dasar, bukan proteksi kelas tinggi.
- Rate limit masih in-memory. Kalau app dijalankan multi-instance atau direstart, counter akan reset.
- Halaman legal masih hardcoded di route component. Jika sering berubah, lebih baik next step adalah render dari markdown source.
Saran next step
- Ganti captcha sederhana ke Cloudflare Turnstile atau reCAPTCHA.
- Pindahkan legal pages agar dirender dari markdown source.
- Tambahkan mobile nav menu jika nanti dibutuhkan.
- Tambahkan analytics dan SEO metadata per halaman.
- Buat script deploy otomatis seperti
deploy.sh.