Sonora

— tentang project
Platform discovery musik yang menggabungkan data Last.fm dan iTunes Search API: pencarian lagu, artis, dan genre, rekomendasi, sampai deteksi rilisan baru — dibangun sebagai monorepo Turborepo dengan API Express terpisah dari frontend React.
tantangan
Menggabungkan dua API eksternal berkualitas data tidak konsisten: Last.fm sering melengkapi gambar atau tanggal rilisan dengan nilai placeholder, sementara iTunes punya preview audio tapi metadata terbatas. Tanpa strategi gabungan, UI mudah tampil rusak atau kosong.
solusi
Lapisan integrasi per-provider dengan pola fallback dua arah (gambar Last.fm, jika kosong ambil dari iTunes; preview audio selalu dari iTunes), normalisasi data di service layer sebelum sampai ke client, kontrak request/response divalidasi Zod yang dipakai bersama oleh API dan frontend lewat package shared, serta auth Argon2 + JWT httpOnly cookie yang dilindungi express-rate-limit dan dimonitor Sentry.
— highlights
- Integrasi ganda Last.fm + iTunes Search API dengan pola fallback untuk gambar, preview audio, dan metadata
- Deteksi rilisan baru (release checker) termasuk penanganan data placeholder Last.fm seperti tanggal 1 Jan 1970
- Auth stateless: hashing password Argon2 + JWT via httpOnly cookie, dilindungi rate limiting
- Skema Zod 4 dipakai bersama frontend dan backend sebagai satu sumber kebenaran kontrak API
- Pengujian berlapis: Vitest + Supertest untuk API, Testing Library untuk komponen React