This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Aplikasi Manajemen Kasbon pengembangan lebih lanjut dari versi sebelumnya (Kasbon-JS), menggunakan NextJS 14 Full Stack dengan Database PostgreSQL atau SQLite (akan tersedia di Branch lain).
2024-07-11.11-51-53.mp4
- App Router.
- Next-Auth untuk Autentikasi.
- Json Web Token (JWT) untuk mengamankan session.
- MUI DataGrid untuk penyajian data lebih baik.
- Multi-Role account, akun terbagi menjadi 2 tipe : Admin dan Karyawan.
- Bcrypt untuk password hashing.
- API Protection menggunakan JWT Token Validation.
- Pages protection menggunakan session.
- Admin Master Key autentikasi bagi admin untuk mengganti password akun dan data akun.
- Dashboard (Admin & Karyawan).
- Form tambah kasbon (Karyawan).
- Halaman Status Request.
- Halaman Status Bayar.
- Export kasbon ke PDF, Excel, JSON.
- Mengambil Laporan Kasbon per Bulan.
- Menampilkan jumlah total nilai kasbon yang diminta, yang telah disetujui, yang telah lunas, yang belum lunas.
- Halaman Bantuan yang berisi penjelasan setiap halaman dan bagaimana cara mengirim dan menampilkan data.
- Edit Data Akun Karyawan.
- Edit Data Akun Admin.
- Reset Password Akun Karyawan.
- Reset Password Akun Admin.
Docker compose sudah tersedia. Gunakan sesuai versi image (PostgreSQL / SQLite) jangan lupa dengan environment variables yang ada.
Container Image tersedia di repository package (ghcr.io)
- kasbon-manager-pg : adalah versi dengan PostgreSQL
- kasbon-manager-sqlite : adalah versi dengan SQLite
Versi SQLite tersedia di branch "SQLiteVersion"
file database SQLite berada di /prisma/dev.db
buka schema.prisma
untuk mengganti koneksi dan schema.
Dengan menggunakan versi SQLite ini maka tidak perlu install database lain seperti PostgreSQL atau MySQL.
- Clone repository ini.
- Buka folder repository di pc local anda.
- Ubah file
.env.example
>>.env
- Isi nilai
NEXTAUTH_SECRET
dengan menggunakanopenssl rand -base64 32
untuk generate secret key dan copy keNEXTAUTH_SECRET
- Isi nilai
NEXTAUTH_URL
denganhttp://localhost:3000
jika dijalankan di local pc, atau domain lain jika dijalankan di hosting / cloud. - Buka
schema.prisma
, jika anda menggunakan PostgreSQL secara lokal maka ganti nilaiurl=
denganenv("DATABASE_URL")
- Kemudian Isi
DATABASE_URL
dengan contoh nilai :postgresql://<nama akun>:<password>@localhost:<port>/<nama database>
- Jika menggunakan PostgreSQL dari Vercel, maka ganti nilai
url=
denganenv("POSTGRES_PRISMA_URL")
dan tambahkandirectUrl = env("POSTGRES_URL_NON_POOLING")
dibawahnya. - Kemudian isi nilai
POSTGRES_PRISMA_URL
di file.env
dengan URL dari PostgreSQL di Vercel, begitu juga dengan nilaiPOSTGRES_URL_NON_POOLING
- Isi nilai
ADMIN_KEY
dengan secret key anda sendiri (ini digunakan agar admin dapat mengganti nama / email / password akun lainnya.) - Setelah semua terisi dan benar. maka jalankan
npm install
. - Kemudian jalankan
npx prisma migrate deploy
. - Kemudian jalankan
npx prisma generate
. - Setelah selesai maka jalankan
npm run seedadmin
untuk membuat akun admin. - Kemudian jalankan
npm run seedkaryawan
untuk membuat akun karyawan. - Email dan Password dari kedua akun dapat dilihat dan diganti di
/prisma/seedAdmin.js
dan/prisma/seedKaryawan.js
. - Kemudian Build project dengan menjalankan
npm run build
.
- Clone repository branch
SQLiteVersion
- Buka folder repository di pc local anda.
- Ubah file
.env.example
>>.env
. - Isi nilai
NEXTAUTH_SECRET
dengan menggunakanopenssl rand -base64 32
untuk generate secret key dan copy keNEXTAUTH_SECRET
. - Isi nilai
NEXTAUTH_URL
denganhttp://localhost:3000
jika dijalankan di local pc, atau domain lain jika dijalankan di hosting / cloud. - Buka
schema.prisma
dan pastikan bahwaprovider = "sqlite"
danurl = "file:./dev.db"
ini berarti Prisma menggunakan SQlite sebagai database dan file database terletak di/prisma/dev.db
. - Isi nilai
ADMIN_KEY
dengan secret key anda sendiri (ini digunakan agar admin dapat mengganti nama / email / password akun lainnya.) - Setelah semua terisi dan benar. maka jalankan
npm install
. - Kemudian jalankan
npx prisma migrate deploy
. - Kemudian jalankan
npx prisma generate
. - Setelah selesai maka jalankan
npm run seedadmin
untuk membuat akun admin. - Kemudian jalankan
npm run seedkaryawan
untuk membuat akun karyawan. - Email dan Password dari kedua akun dapat dilihat dan diganti di
/prisma/seedAdmin.js
dan/prisma/seedKaryawan.js
. - Kemudian Build project dengan menjalankan
npm run build
.
- Edit Data Admin
- Edit Data Admin API
- Refactor some codes
- Remove Unnecessary files
- Add Bantuan page.
- Add Dokumentasi API page.
- Add Tentang Page.
- Sidebar Update.
- Refactor some codes.
- Add more page protection.
- Refactor some codes.
- Remove unused files.
- Add Reset Password for Karyawan.
- Add Reset Password for Admin.
- Add master Key validation for Admin password reset.
- Fix API Endpoint protection error.
- Refactor some codes.
- Rilis pertama.
- PostgreSQL Version.
- Semua fitur kasbon (tambah, ganti status, ambil laporan perbulan, export ke pdf ; excel ; json).