Aplikasi manajemen keuangan berbasis web untuk organisasi dengan fitur kas, iuran anggota, anggaran kegiatan, dan transparansi keuangan.
- Multiple akun kas (Tunai, Bank, E-Wallet)
- Track saldo real-time
- Histori transaksi lengkap
- Jenis iuran (wajib/sukarela, bulanan/sekali)
- Upload bukti pembayaran
- Sistem verifikasi bendahara
- Status: pending/lunas/ditolak
- Perencanaan anggaran per kegiatan
- Track realisasi pengeluaran
- Alert over-budget
- Progress monitoring
- Harus terkait kegiatan
- Approval system
- Upload bukti transaksi
- Audit trail lengkap
- Dashboard berbeda untuk setiap role
- Anggota bisa lihat laporan (read-only)
- Audit log semua transaksi
| Role | Akses |
|---|---|
| Super Admin | Full access, manajemen user & settings |
| Bendahara | Kelola kas, verifikasi iuran, approve pengeluaran |
| Pengurus | Buat pengeluaran, lihat laporan |
| Anggota | Upload iuran, lihat status, read-only laporan |
- Backend: Node.js + Express.js
- Database: MySQL
- View Engine: EJS
- CSS Framework: Tailwind CSS
- Authentication: Session-based (express-session)
- File Upload: Multer
- Security: Bcrypt password hashing
organization-financial/
βββ config/
β βββ config.js # Konfigurasi environment
β βββ db.js # Database connection pool
β βββ upload.js # Multer upload config
βββ controllers/ # (Future: Controller logic)
βββ middleware/
β βββ auth.js # Authentication middleware
β βββ role.js # Role-based access control
β βββ validate.js # Request validation
βββ routes/
β βββ auth.js # Login/logout
β βββ dashboard.js # Dashboard routes
β βββ kas.js # Kas management
β βββ iuran.js # Iuran & payments
β βββ activities.js # Kegiatan & anggaran
β βββ expenses.js # Pengeluaran
βββ views/
β βββ layout/ # Main & auth layouts
β βββ partials/ # Reusable components (sidebar)
β βββ auth/ # Login & register
β βββ dashboard/ # Dashboard views
β βββ kas/ # Kas management views
β βββ iuran/ # Iuran views
β βββ activities/ # Activities views
β βββ expenses/ # Expenses views
βββ lib/
β βββ helpers.js # Helper functions
βββ sql/
β βββ organization_financial.sql # Database structure
β βββ seeder.sql # Demo data
βββ public/
βββ uploads/ # Uploaded files
βββ stylesheets/ # CSS files
- Node.js (v16+)
- MySQL (v8+)
- npm atau yarn
- Clone repository
cd organization-financial- Install dependencies
npm install- Setup database
-- Create database
CREATE DATABASE organization_financial;
-- Import structure
mysql -u root -p organization_financial < sql/organization_financial.sql
-- Import demo data
mysql -u root -p organization_financial < sql/seeder.sql- Configure environment
cp .env.example .envEdit .env file:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=organization_financial
SESSION_SECRET=your-secret-key
PORT=3001- Build Tailwind CSS
npm run tailwind- Run application
# Development
npm run dev
# Production
npm start- Access application
http://localhost:3001
| Role | Password | |
|---|---|---|
| Super Admin | admin@org.com | password123 |
| Bendahara | bendahara@org.com | password123 |
| Pengurus | pengurus@org.com | password123 |
| Anggota | anggota@org.com | password123 |
- Overview total kas
- Pending iuran & approvals
- Chart kas masuk vs keluar
- Manajemen user
- Settings
- Total kas organisasi (semua akun)
- List iuran pending (hitung & jumlah)
- Pengeluaran bulan ini
- Chart 6 bulan terakhir
- Verifikasi iuran
- Approve pengeluaran
- Status iuran pribadi (lunas/pending)
- Total bayar & tunggakan
- Riwayat pembayaran
- Kegiatan yang sedang berjalan
- Notifikasi
- users - Data user & role
- kas_accounts - Akun kas organisasi
- iuran_types - Jenis iuran
- iuran_payments - Pembayaran iuran
- activities - Kegiatan & anggaran
- expense_categories - Kategori pengeluaran
- expenses - Pengeluaran organisasi
- kas_transactions - Transaksi kas (audit trail)
- audit_logs - Log aktivitas user
Aplikasi ini menggunakan komponen UI yang sama dengan financial-app:
- β Tailwind config & utility classes
- β Layout structure (sidebar, main content)
- β Color scheme & branding
- β Component styles (cards, badges, buttons)
- β Responsive design patterns
PERBEDAAN: Logic keuangan 100% berbeda - fokus organisasi bukan personal.
- β Password hashing (bcrypt)
- β Session-based authentication
- β Role-based access control
- β CSRF protection ready
- β Input validation
- β Audit logging
- β No hard delete (soft delete via status)
- Kas: Saldo auto-update saat transaksi approved
- Iuran: Butuh verifikasi bendahara sebelum masuk kas
- Pengeluaran: Harus linked ke kegiatan, tidak boleh over-budget
- Approval: Hanya bendahara/super_admin yang bisa approve
- Transparansi: Anggota read-only, tidak bisa edit transaksi
- Multi-organisasi (tenant-based)
- Multi-periode akuntansi
- Export laporan PDF & Excel
- Notifikasi email/WhatsApp
- API untuk mobile app
- Dashboard analytics advanced
- Budgeting & forecasting
# Development dengan auto-reload
npm run dev
# Build Tailwind (watch mode)
npm run tailwind
# Production
npm start- Pastikan MySQL running
- Cek credentials di
.env - Pastikan database sudah dibuat
npm run tailwind- Pastikan
SESSION_SECRETsudah diset di.env - Clear browser cookies
- Buat file di
routes/ - Import di
app.js - Tambahkan middleware auth & role
- Update database schema di
sql/ - Buat route & view
- Update sidebar navigation
- Tambahkan audit log
MIT License - Free for personal and commercial use
Contributions welcome! Silakan buat PR atau issue.
Built with β€οΈ for better organization financial management