Skip to content

Sistem pencatatan keuangan menggunakan laravel versi 12 dan filament versi 4

Notifications You must be signed in to change notification settings

prassaaa/cashflow

Repository files navigation

Laravel Filament PHP TailwindCSS

πŸ’° Cash Flow Management System

Sistem manajemen arus kas terintegrasi untuk mengelola Job Order, Purchase Order, Invoice, Expenses, Salary, dan Production Tracking.

Fitur β€’ Tech Stack β€’ Instalasi β€’ Roles β€’ Screenshots β€’ Dokumentasi


✨ Fitur

πŸ“Š Dashboard & Analytics

  • Stats Overview - Ringkasan JO aktif, PO pending, Invoice, dan Expenses
  • Cash Flow Chart - Grafik arus kas 6 bulan terakhir
  • Expense Breakdown - Breakdown pengeluaran per kategori
  • Overdue Invoices - Daftar invoice yang jatuh tempo
  • Role-based Widgets - Widget tampil sesuai role pengguna

πŸ“‹ Core Modules

Module Deskripsi
Job Orders Kelola order dari customer dengan tracking status
Purchase Orders Manajemen pembelian material, consumable, tools
Invoices Penagihan dan tracking pembayaran customer
Expenses Catat semua pengeluaran operasional
Employees Database karyawan (staff, daily, borongan)
Salaries Penggajian dengan approval workflow
Rekap HRD Rekap absensi HRD (hadir/absen/pengurangan/karyawan baru)
Man Powers Alokasi tenaga kerja per Job Order
Production Progress Tracking progress produksi per stage
Deliveries Manajemen pengiriman dan surat jalan
Other Costs Biaya overhead dan administratif

πŸ” Security & Access Control

  • 6 User Roles - super_admin, hrd, marketing, purchasing, accounting, ppic
  • Granular Permissions - Kontrol akses per resource dan action
  • Activity Logging - Audit trail semua perubahan data
  • Policy-based Auth - Laravel policies untuk authorization

πŸ“€ Export & Reports

  • Excel Export - Export data ke format Excel (.xlsx)
  • Bulk Actions - Bulk export untuk data terpilih
  • Filtered Export - Export berdasarkan filter yang aktif

πŸ›  Tech Stack

Technology Version Purpose
Laravel 12.x PHP Framework
Filament 4.x Admin Panel
PHP 8.2+ Runtime
MySQL/PostgreSQL 8.x Database
Livewire 3.x Reactive Components
TailwindCSS 3.x Styling
Spatie Permission 6.x Role & Permission
Filament Shield 3.x Permission UI
pxlrbt Excel 3.x Excel Export

πŸš€ Instalasi

Requirements

  • PHP >= 8.2
  • Composer
  • Node.js >= 18
  • MySQL 8.x / PostgreSQL

Quick Start

# Clone repository
git clone https://github.com/prassaaa/cashflow.git
cd cashflow

# Install dependencies
composer install
npm install

# Setup environment
cp .env.example .env
php artisan key:generate

# Configure database di .env
# DB_DATABASE=cashflow
# DB_USERNAME=root
# DB_PASSWORD=

# Run migrations & seeders
php artisan migrate
php artisan db:seed

# Build assets
npm run build

# Start server
php artisan serve

Demo Data (Optional)

# Seed demo data untuk testing
php artisan db:seed --class=DemoDataSeeder

πŸ‘₯ Roles & Permissions

Test Accounts

Role Email Password
Super Admin admin@cashflow.test password
HRD hrd@cashflow.test password
Marketing marketing@cashflow.test password
Purchasing purchasing@cashflow.test password
Accounting accounting@cashflow.test password
PPIC ppic@cashflow.test password

Role Responsibilities

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         BUSINESS FLOW                                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                          β”‚
β”‚  MARKETING ──▢ PURCHASING ──▢ PPIC ──▢ ACCOUNTING ──▢ HRD              β”‚
β”‚      β”‚             β”‚           β”‚            β”‚           β”‚                β”‚
β”‚      β–Ό             β–Ό           β–Ό            β–Ό           β–Ό                β”‚
β”‚  Job Order    Purchase     Production   Expenses    Employee             β”‚
β”‚  Invoice      Order        Progress     Invoice     Salary               β”‚
β”‚  Delivery                  Man Power    Other Cost                       β”‚
β”‚                            Delivery                                      β”‚
β”‚                                                                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Module Access Matrix

Module super_admin accounting marketing ppic hrd purchasing
Job Orders βœ… βœ… βœ… βœ… ❌ βœ…
Purchase Orders βœ… βœ… ❌ ❌ ❌ βœ…
Expenses βœ… βœ… ❌ ❌ ❌ ❌
Invoices βœ… βœ… βœ… ❌ ❌ ❌
Employees βœ… ❌ ❌ ❌ βœ… ❌
Salaries βœ… βœ… ❌ ❌ βœ… ❌
Rekap HRD βœ… ❌ ❌ ❌ βœ… ❌
Man Powers βœ… ❌ ❌ βœ… βœ… ❌
Production Progress βœ… ❌ ❌ βœ… ❌ ❌
Deliveries βœ… ❌ βœ… βœ… ❌ ❌
Other Costs βœ… βœ… ❌ ❌ ❌ ❌

πŸ“Έ Screenshots

Dashboard

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  πŸ“Š Stats Overview                                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚JO: 5 β”‚ β”‚PO: 8 β”‚ β”‚Inv:12β”‚ β”‚Due: 3β”‚ β”‚Exp:5Mβ”‚ β”‚Sal:8Mβ”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                             β”‚
β”‚  πŸ“ˆ Cash Flow Chart (6 Months)    🍩 Expense Breakdown     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Income β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     β”‚      β”‚    PO: 40%          β”‚  β”‚
β”‚  β”‚ Expense β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ        β”‚      β”‚    Expense: 30%     β”‚  β”‚
β”‚  β”‚                         β”‚      β”‚    Salary: 25%      β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                             β”‚
β”‚  πŸ“‹ Latest Job Orders           ⚠️ Overdue Invoices        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ JO-001 β”‚ PT ABC β”‚ Project X β”‚ Rp 50.000.000 β”‚ ●     β”‚   β”‚
β”‚  β”‚ JO-002 β”‚ PT XYZ β”‚ Project Y β”‚ Rp 75.000.000 β”‚ ●     β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“– Dokumentasi

Dokumen Deskripsi
Testing Guide Panduan testing lengkap per role
API Reference Dokumentasi API (coming soon)

πŸ”§ Artisan Commands

# Clear all caches
php artisan optimize:clear

# Generate permissions for new resource
php artisan shield:generate --resource=NewResource --panel=auth

# Generate all permissions
php artisan shield:generate --all --panel=auth

# Create super admin
php artisan shield:super-admin --panel=auth

# Run tests
php artisan test

# Check code style
./vendor/bin/pint --test

πŸ“ Project Structure

cashflow/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ Filament/
β”‚   β”‚   β”œβ”€β”€ Resources/          # Filament CRUD Resources
β”‚   β”‚   β”‚   β”œβ”€β”€ JobOrders/
β”‚   β”‚   β”‚   β”œβ”€β”€ PurchaseOrders/
β”‚   β”‚   β”‚   β”œβ”€β”€ Invoices/
β”‚   β”‚   β”‚   β”œβ”€β”€ Expenses/
β”‚   β”‚   β”‚   β”œβ”€β”€ Employees/
β”‚   β”‚   β”‚   β”œβ”€β”€ Salaries/
β”‚   β”‚   β”‚   └── ...
β”‚   β”‚   └── Widgets/            # Dashboard Widgets
β”‚   β”‚       β”œβ”€β”€ StatsOverviewWidget.php
β”‚   β”‚       β”œβ”€β”€ CashFlowChartWidget.php
β”‚   β”‚       β”œβ”€β”€ ExpenseBreakdownChart.php
β”‚   β”‚       └── ...
β”‚   β”œβ”€β”€ Models/                 # Eloquent Models
β”‚   β”œβ”€β”€ Policies/               # Authorization Policies
β”‚   └── Providers/
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ migrations/
β”‚   └── seeders/
β”‚       β”œβ”€β”€ DatabaseSeeder.php
β”‚       └── DemoDataSeeder.php
β”œβ”€β”€ docs/
β”‚   └── TESTING_GUIDE.md
└── resources/
    └── views/

🀝 Contributing

  1. Fork repository
  2. Buat feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add some AmazingFeature')
  4. Push ke branch (git push origin feature/AmazingFeature)
  5. Open Pull Request

πŸ“ License

Distributed under the MIT License. See LICENSE for more information.


πŸ“ž Support

Jika ada pertanyaan atau issue, silakan:


Made with ❀️ using Laravel & Filament

About

Sistem pencatatan keuangan menggunakan laravel versi 12 dan filament versi 4

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages