Kalau ditanya apakah project ini sudah selesai, jawabannya mungkin belum.
Saya justru menganggap Expense Tracker sebagai project yang akan terus berkembang. Semakin banyak hal baru yang saya pelajari, semakin banyak juga ide yang ingin saya tambahkan ke dalam aplikasi ini.
Dan menurut saya, memang seperti itulah seharusnya sebuah project pribadi.
Bukan dibuat sekali lalu ditinggalkan, tetapi terus diperbaiki seiring bertambahnya pengalaman sebagai developer.
Fitur yang Masih Ada di Wishlist
Selama mengerjakan project ini, ada cukup banyak fitur yang sebenarnya sudah saya rencanakan. Hanya saja saya memilih fokus menyelesaikan fitur-fitur utama terlebih dahulu sebelum menambah hal lain.
Beberapa fitur yang ingin saya tambahkan ke depannya antara lain:
Kategori Transaksi
Saat ini transaksi masih dibedakan menjadi pemasukan dan pengeluaran.
Ke depannya saya ingin menambahkan kategori seperti:
- Makanan
- Transportasi
- Belanja
- Hiburan
- Kesehatan
- Pendidikan
- Tagihan
- Gaji
- Investasi
Dengan adanya kategori, pengguna bisa melihat pengeluaran paling besar berasal dari mana.
Misalnya ternyata setiap bulan pengeluaran terbesar justru berasal dari jajan kopi atau layanan streaming. Dari situ pengguna bisa mulai mengevaluasi kebiasaan finansialnya.
Grafik Keuangan
Saya juga ingin membuat halaman statistik yang menampilkan data dalam bentuk grafik.
Misalnya:
- Grafik pemasukan per bulan.
- Grafik pengeluaran per bulan.
- Perbandingan pemasukan dan pengeluaran.
- Saldo yang terus berubah dari waktu ke waktu.
Menurut saya, data akan jauh lebih mudah dipahami kalau ditampilkan secara visual dibanding hanya berupa angka.
Export PDF dan Excel
Fitur ini juga cukup penting.
Bayangkan kalau pengguna ingin menyimpan laporan keuangan setiap akhir bulan.
Akan lebih praktis jika cukup menekan satu tombol, lalu seluruh transaksi bisa diunduh dalam format PDF atau Excel.
Selain berguna untuk dokumentasi pribadi, fitur ini juga bisa membantu pengguna yang ingin membuat laporan sederhana.
Filter dan Pencarian
Semakin banyak transaksi, semakin sulit mencari data tertentu.
Karena itu saya juga ingin menambahkan fitur seperti:
- Filter berdasarkan tanggal.
- Filter berdasarkan rekening.
- Filter berdasarkan kategori.
- Filter berdasarkan jenis transaksi.
- Pencarian berdasarkan deskripsi.
Fitur sederhana seperti ini akan membuat pengalaman menggunakan aplikasi menjadi jauh lebih nyaman.
Budget Bulanan
Ini mungkin menjadi salah satu fitur yang paling menarik.
Misalnya pengguna menentukan budget makan sebesar Rp1.500.000 setiap bulan.
Setiap kali ada transaksi kategori makanan, sistem akan menghitung total pengeluaran.
Kalau sudah mendekati batas budget, aplikasi bisa memberikan peringatan.
Dengan begitu pengguna bisa lebih mudah mengontrol pengeluarannya.
Dashboard yang Lebih Informatif
Dashboard saat ini memang sudah menampilkan informasi penting.
Tetapi saya masih punya beberapa ide.
Misalnya menambahkan:
- Transaksi terbaru.
- Rekening dengan saldo terbesar.
- Pengeluaran terbesar bulan ini.
- Ringkasan aktivitas selama tujuh hari terakhir.
- Grafik singkat langsung di halaman dashboard.
Saya ingin dashboard menjadi halaman yang benar-benar memberikan gambaran kondisi keuangan pengguna hanya dalam sekali lihat.
Pelajaran yang Saya Dapat Selama Mengerjakan Project Ini
Kalau boleh jujur, project ini memberikan banyak pelajaran.
Bukan hanya soal Next.js atau PostgreSQL.
Tetapi juga cara berpikir saat membangun sebuah aplikasi.
Dulu saya sering berpikir kalau bagian tersulit dari membuat aplikasi adalah tampilan.
Ternyata setelah mencoba membuat aplikasi yang sedikit lebih kompleks, saya sadar bahwa tantangan sebenarnya justru ada pada logika bisnis di belakang layar.
Misalnya:
Bagaimana kalau saldo tidak cukup?
Bagaimana kalau transaksi diedit?
Bagaimana kalau transaksi dihapus?
Bagaimana kalau dua proses berjalan bersamaan?
Bagaimana memastikan data tetap konsisten?
Pertanyaan-pertanyaan seperti ini membuat saya mulai berpikir lebih jauh sebelum menulis kode.
Dan menurut saya, kebiasaan itu jauh lebih penting daripada sekadar menghafal syntax.
Tidak Semua Masalah Bisa Diselesaikan dengan Copy-Paste
Saya rasa hampir semua developer pernah mengalami hal ini.
Ketika menemukan error, hal pertama yang dilakukan biasanya membuka Google atau Stack Overflow.
Saya juga begitu.
Tetapi selama mengerjakan Expense Tracker, saya mulai menyadari bahwa tidak semua masalah bisa diselesaikan dengan mencari potongan kode di internet.
Ada banyak bug yang justru harus dipahami alurnya terlebih dahulu.
Kadang masalahnya bukan karena query SQL.
Bukan juga karena Next.js.
Tetapi karena logika yang saya buat sendiri masih belum lengkap.
Di momen seperti itu, saya belajar untuk lebih sering membaca ulang kode yang sudah saya tulis, memahami alurnya, lalu mencari tahu kenapa hasilnya tidak sesuai harapan.
Memang lebih lama, tetapi rasanya jauh lebih memuaskan ketika akhirnya menemukan solusi.
Project Pribadi Selalu Memberikan Pengalaman Baru
Kalau ada teman yang baru belajar web development lalu bertanya:
“Gimana caranya supaya cepat berkembang?”
Jawaban saya hampir selalu sama.
Buat project sendiri.
Tutorial memang penting.
Dokumentasi juga penting.
Tetapi kemampuan kita benar-benar berkembang ketika mulai mengerjakan project tanpa mengikuti langkah demi langkah dari video.
Karena di situlah kita dipaksa berpikir.
Dipaksa mengambil keputusan.
Dipaksa mencari solusi ketika menemui masalah.
Menurut saya, pengalaman seperti itu jauh lebih berharga.
Masih Banyak yang Ingin Saya Pelajari
Walaupun project ini sudah selesai dikerjakan, saya merasa masih banyak hal yang belum saya kuasai.
Saya masih ingin belajar lebih dalam tentang:
- Optimasi performa di Next.js.
- Caching dan data fetching.
- Testing menggunakan Jest atau Playwright.
- Docker untuk deployment.
- CI/CD menggunakan GitHub Actions.
- Monitoring dan logging.
- Arsitektur aplikasi yang lebih scalable.
Semua itu menjadi target belajar saya untuk project-project berikutnya.
Karena menurut saya, menjadi web developer berarti harus terus belajar. Teknologi berubah sangat cepat, dan selalu ada hal baru yang bisa dicoba.
Penutup
Expense Tracker mungkin bukan aplikasi yang paling besar atau paling kompleks yang pernah saya buat. Namun, project ini menjadi salah satu yang paling berkesan karena mengajarkan banyak hal, mulai dari membangun antarmuka dengan Next.js, mengelola data menggunakan PostgreSQL, menerapkan autentikasi JWT, hingga menjaga konsistensi data ketika setiap transaksi memengaruhi saldo rekening.
Selain menghasilkan sebuah aplikasi yang bisa digunakan untuk mencatat keuangan pribadi, project ini juga membantu saya memahami bagaimana sebuah aplikasi bekerja di balik layar. Banyak keputusan kecil yang harus dipikirkan agar data tetap akurat, aman, dan mudah dikembangkan di masa depan.
Saya percaya setiap project pribadi selalu membawa pelajaran baru. Tidak harus langsung membuat aplikasi yang besar atau rumit. Justru dari project yang terlihat sederhana seperti Expense Tracker, saya belajar banyak hal yang mungkin tidak akan didapat hanya dengan mengikuti tutorial.
Ke depannya saya masih ingin terus mengembangkan aplikasi ini, menambahkan fitur baru, memperbaiki pengalaman pengguna, dan mencoba teknologi lain yang belum sempat digunakan. Siapa tahu, suatu saat nanti project sederhana ini bisa berkembang menjadi aplikasi yang benar-benar digunakan oleh banyak orang.
Kalau kamu juga sedang belajar web development, saran saya sederhana: jangan takut memulai project sendiri. Tidak perlu menunggu merasa “siap”. Mulailah dari ide yang sederhana, kerjakan sedikit demi sedikit, dan nikmati setiap prosesnya. Karena sering kali, pelajaran terbesar justru datang dari proses mencoba, melakukan kesalahan, lalu memperbaikinya.
Terima kasih sudah membaca sampai akhir. Semoga cerita dan pengalaman saya membangun Expense Tracker ini bisa memberikan gambaran, inspirasi, atau bahkan ide untuk project berikutnya yang sedang kamu kerjakan. Kalau kamu punya masukan atau ingin berdiskusi tentang project ini, jangan ragu untuk menghubungi saya atau memberikan feedback. Saya selalu senang bertukar cerita dan belajar dari sesama developer.
Link Github : https://github.com/ahmadzipur/expense-tracker.git