Skip to content

Salah satu web app yang simpel untuk mengontrol keuangan

Notifications You must be signed in to change notification settings

HijazP/i-hate-to-budget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

IHateToBudget logo

GitHub Pipenv locked Python version GitHub Pipenv locked Python version GitHub Pipenv locked Python version GitHub Pipenv locked Python version

Aplikasi web sederhana untuk mengatur pengeluaran Anda.
Didesain untuk dihosting sendiri.
Reference by bminusl.

Sekilas Tentang Instalasi Maintenance Otomatisasi Cara Pemakaian Pembahasan Referensi

Sekilas Tentang

alt text

IHateToBudget adalah sebuah web app yang bertujuan untuk membantu dalam memahami dan mengontrol pengeluaran/budget. Pada web app ini, kita dapat mengkategorikan jenis dan total pengeluaran yang ada pada suatu bulan sehingga kita dapat melihat berapa pengeluaran kita untuk setiap bulannya. Kita juga bisa melihat dan memfilter pengeluaran bulan mana yang mau dilihat. Dengan web app ini, diharapkan dapat membantu dalam memanajemen keuangan.

Instalasi

^ kembali ke atas ^

Kebutuhan Sistem :

  • Sistem Operasi: Windows, Unix, dan lainnya
  • Python: Python versi 3
  • Django: Django versi 3.1.14 atau lebih tinggi
  • RAM: 64Mb atau lebih tinggi

Proses Instalasi :

Docker

Proses instalasi menggunakan Docker hanyalah salah satu cara, banyak cara lainnya yang bisa disesuaikan dengan preferensi masing-masing.

  1. Pasang Docker dan Docker Compose

  2. Clone repositori:

git clone https://github.com/bminusl/ihatetobudget.git
cd ihatetobudget
  1. Copy beberapa file berikut di dalam foldernya:
  • docker-compose.yml.example ke docker-compose.yml
  • docker-compose.env.example ke docker-compose.env
  • Caddyfile.example ke Caddyfile
cp docker-compose.yml.example docker-compose.yml
cp docker-compose.env.example docker-compose.env
cp Caddyfile.example Caddyfile
  1. Edit docker-compose.env dan sesuaikan beberapa variabel berikut:
  • DJANGO_SECRET_KEY: Secret key yang digunakan untuk Django. Lihat di sini untuk informasi lebih lanjut.
  • CURRENCY_GROUP_SEPARATOR: Satu karakter untuk memisahkan 3 digit angka (misal: 1.000)
  • CURRENCY_DECIMAL_SEPARATOR: Satu karakter untuk memisahkan desimal (misal: 1.000,00)
  • CURRENCY_PREFIX: String yang akan diletakkan di awal nomor (misal: Rp. 1.000,00)
  • CURRENCY_SUFFIX: String yang akan diletakkan di akhir nomor (misal: Rp. 1.000,00,-) Secara default, format uang yang disediakan menyesuaikan dengan Euro Prancis. Untuk mengubahnya menjadi rupiah, format yang dipakai sebagai berikut:
CURRENCY_GROUP_SEPARATOR=.
CURRENCY_DECIMAL_SEPARATOR=,
CURRENCY_PREFIX=Rp.
CURRENCY_SUFFIX=

Catatan: Jangan lupa hilangkan format komentar (#).

  1. Jalankan docker compose up -d. Perintah ini akan build atau membangun main image, membuat dan menjalankan container.

  2. Jalankan cron di dalam containernya:

docker compose exec ihatetobudget service cron start
  1. Untuk bisa login, dibutuhkan (super) user. Jalankan perintah berikut untuk membuat akun:
docker compose run --rm ihatetobudget pipenv run python manage.py migrate
docker compose run --rm ihatetobudget pipenv run python manage.py createsuperuser
  1. Sekarang Anda sudah bisa mengakses IHateToBudgetInstance di http://127.0.0.1:80. Login menggunakan username dan password yang sebelumnya sudah dibuat.

Maintenance

^ kembali ke atas ^

Docker

  1. Pergi ke root di repositori.

  2. Jalankan docker compose down -v, akan mengehentikan semua container yang sedang berjalan.

  3. Membuat cadangan database (opsional), jalankan cp db.sqlite3 db.sqlite3.bak.

  4. Update codebase menggunakan perintah git pull.

  5. Rebuild image:

docker compose build
  1. Migrasi database:
docker compose run --rm ihatetobudget pipenv run python manage.py migrate

Aksi ini akan mensinkronisasikan database state dengan set terbaru.

  1. Jalankan docker compose up -d, untuk menjalankan container.

  2. Jalankan cron di dalam containernya:

docker compose exec ihatetobudget service cron start

Otomatisasi

^ kembali ke atas ^

Cara lain untuk mempersingkat proses instalasi adalah menggunakan shell script. Shell script adalah kumpulan kode yang dapat dijalankan di Unix shell. Berikut adalah kumpulan shell script untuk instalasi, menjalankan, serta menghentikan server aplikasi.

Cara menjalankannya dengan perintah ./(nama).sh

  1. setup.sh berisi kode git clone dan cp.

  2. change.sh berisi kode untuk konfigurasi tampilan mata uang.

  3. user.sh berisi kode untuk konfigurasi user.

  4. start.sh berisi kode untuk menjalankan server.

  5. stop.sh berisi kode untuk menghentikan server.

Shell script user.sh, start.sh, dan stop.sh dan dijalankan kapanpun setelah setup.sh dan change.sh dijalankan.

Cara Pemakaian

^ kembali ke atas ^

  • Tampilan Aplikasi Web
    • Tampilan Utama Aplikasi alt text
  • Fungsi-fungsi utama
    • Menambah Kategori Pengeluaran Baru alt text
    • Menambah Pengeluaran Baru alt text
    • Melihat Riwayat Pengeluaran alt text
  • Contoh Pemakaian
    • Pembuatan Kategori Pengeluaran Baru alt text
    • Pembuatan Pengeluaran Baru alt text

Pembahasan

^ kembali ke atas ^

  • Pendapat anda tentang aplikasi web ini

    • Kelebihan

      1. Dapat mengatur sendiri kategori pengeluaran image
      2. Dapat melihat history pengeluaran image
      3. Terdapat insight pengeluaran per bulannya image
    • Kekurangan

      1. Hanya mencatat jumlah pengeluaran, tidak mencatat saldo yang ada image
      2. Tidak bisa lebih dari 1 akun dalam 1 server image
  • Bandingkan dengan aplikasi web lain yang sejenis

    Money Lover

    1. Terdapat pembagian untuk sumber uang image
    2. Kategori pengeluaran sudah tersedia, namun tidak dapat dikustomisasi image

    SikapiUangmu - OJK

    1. Terdapat opsi untuk menghitung harta dan dikurangi dengan utang yang dimiliki image
    2. Terdapat kalkulator untuk menghitung kesehatan keuangan image

Referensi

^ kembali ke atas ^

About

Salah satu web app yang simpel untuk mengontrol keuangan

Topics

Resources

Stars

Watchers

Forks

Languages