2026 · API
Birthday Reminder Service
Layanan NestJS yang menyimpan data pengguna dan mengirimkan pesan “Happy Birthday” kepada setiap pengguna pada pukul 9 pagi di zona waktunya sendiri, tepat di hari ulang tahunnya.
- Periode
- –
- Klien
- Proyek pribadi
- Peran
- Pengembang tunggal: merancang dan membangun API, penjadwal, pengujian, dan konfigurasi Docker.
Masalah
Sebuah tugas: menyapa setiap pengguna pada pukul 9 pagi waktu setempat di hari ulang tahunnya, di berbagai zona waktu, pergantian waktu musim panas, dan 29 Februari, tanpa memindai seluruh pengguna dengan timer.
Hasil
Satu job Agenda yang tersimpan per pengguna berjalan pada pukul 9 pagi pengguna tersebut, dihitung dengan Luxon, lalu menjadwalkan ulang dirinya untuk tahun berikutnya tanpa membaca basis data; mengubah tanggal lahir atau zona waktu menjadwalkannya ulang, dan menghapus pengguna membatalkannya. 59 pengujian dalam 13 suite mencakup 100% statement, function, dan line, serta 82,2% branch.
Stack
- NestJS
- TypeScript
- Fastify
- MongoDB
- Agenda
- Luxon
- Jest
- Docker