Aplikasi web sederhana untuk mengatur pengeluaran Anda.
Didesain untuk dihosting sendiri.
Reference by bminusl.
Sekilas Tentang | Instalasi | Maintenance | Otomatisasi | Cara Pemakaian | Pembahasan | Referensi |
---|
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.
- 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 menggunakan Docker hanyalah salah satu cara, banyak cara lainnya yang bisa disesuaikan dengan preferensi masing-masing.
-
Pasang Docker dan Docker Compose
-
Clone repositori:
git clone https://github.com/bminusl/ihatetobudget.git
cd ihatetobudget
- Copy beberapa file berikut di dalam foldernya:
docker-compose.yml.example
kedocker-compose.yml
docker-compose.env.example
kedocker-compose.env
Caddyfile.example
keCaddyfile
cp docker-compose.yml.example docker-compose.yml
cp docker-compose.env.example docker-compose.env
cp Caddyfile.example Caddyfile
- 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 (#).
-
Jalankan
docker compose up -d
. Perintah ini akan build atau membangun main image, membuat dan menjalankan container. -
Jalankan
cron
di dalam containernya:
docker compose exec ihatetobudget service cron start
- 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
- Sekarang Anda sudah bisa mengakses IHateToBudgetInstance di
http://127.0.0.1:80
. Login menggunakan username dan password yang sebelumnya sudah dibuat.
-
Pergi ke root di repositori.
-
Jalankan
docker compose down -v
, akan mengehentikan semua container yang sedang berjalan. -
Membuat cadangan database (opsional), jalankan
cp db.sqlite3 db.sqlite3.bak
. -
Update codebase menggunakan perintah
git pull
. -
Rebuild image:
docker compose build
- Migrasi database:
docker compose run --rm ihatetobudget pipenv run python manage.py migrate
Aksi ini akan mensinkronisasikan database state dengan set terbaru.
-
Jalankan
docker compose up -d
, untuk menjalankan container. -
Jalankan
cron
di dalam containernya:
docker compose exec ihatetobudget service cron start
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.
-
setup.sh berisi kode
git clone
dancp
. -
change.sh berisi kode untuk konfigurasi tampilan mata uang.
-
user.sh berisi kode untuk konfigurasi user.
-
start.sh berisi kode untuk menjalankan server.
-
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.
- Tampilan Aplikasi Web
- Fungsi-fungsi utama
- Contoh Pemakaian