mattfalahe / corp-wallet-manager
CorpWallet Manager - SeAT plugin for corporation wallet tracking and predictions
Installs: 311
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:seat-plugin
pkg:composer/mattfalahe/corp-wallet-manager
Requires
- php: ^8.1
- eveseat/web: ^5.0
- laravel/framework: ^10.0
This package is auto-updated.
Last update: 2025-09-24 22:56:33 UTC
README
A comprehensive SeAT plugin for EVE Online corporation wallet tracking, analysis, and predictions. This plugin provides powerful financial analytics, trend analysis, and predictive modeling for corporation directors and members.
Features
🎯 Director View
- Real-time Balance Tracking: Monitor actual wallet balances across all divisions
- Advanced Analytics: Health scores, burn rates, financial ratios
- Predictive Modeling: 30-day balance forecasts using historical data
- Cash Flow Analysis: Daily, weekly, and monthly cash flow waterfalls
- Division Performance: Track individual division metrics and ROI
- Activity Heatmaps: Visualize transaction patterns over time
- Executive Reports: Auto-generated insights and recommendations
👥 Member View
- Corporation Health Dashboard: Simplified health indicators
- Goal Tracking: Savings, activity, and growth targets
- Achievement System: Milestones and upcoming events
- Performance Metrics: Radar charts showing key performance indicators
- Weekly Patterns: Activity analysis by day of week
- Privacy Controls: Optional ISK value masking for operational security
⚙️ Settings & Administration
- Flexible Configuration: Customizable refresh intervals, colors, and display options
- Member View Controls: Toggle sections and set data delays
- Goal Management: Set corporation-wide targets
- Maintenance Tools: Manual job triggers for data processing
- Access Logging: Track user access for security
- Job Monitoring: Real-time status of background processes
Requirements
- PHP 8.1 or higher
- Laravel 10.0 or higher
- SeAT 5.0 or higher
- MySQL/MariaDB database
- Supervisor (for queue workers)
Installation
1. Install via Composer
composer require mattfalahe/corp-wallet-manager
2. Run Migrations
php artisan migrate
3. Setup Permissions
php artisan corpwalletmanager:setup
4. Initial Data Backfill
# Backfill last 3 months of data php artisan corpwalletmanager:backfill --months=3 # Or backfill all historical data (use with caution) php artisan corpwalletmanager:backfill --all
5. Clear Cache
php artisan config:clear php artisan route:clear php artisan view:clear
6. Restart Queue Workers
supervisorctl restart all
Configuration
Permissions
After installation, assign the following permissions in SeAT's Access Management:
corpwalletmanager.view
- Basic plugin access (required)corpwalletmanager.director_view
- Access to director dashboardcorpwalletmanager.member_view
- Access to member dashboardcorpwalletmanager.settings
- Manage plugin settings
Scheduled Jobs
The plugin automatically registers the following scheduled jobs:
Job | Schedule | Description |
---|---|---|
Hourly Update | Every hour | Updates wallet data for the last hour |
Compute Predictions | Every 6 hours | Calculates balance predictions |
Daily Aggregation | Daily at 01:00 | Aggregates daily statistics |
Division Predictions | Weekly (Mondays at 02:00) | Computes division-specific predictions |
Monthly Backfill | Monthly (1st at 03:00) | Data integrity check and backfill |
Settings Options
Navigate to Corp Wallet Manager → Settings to configure:
Display Settings:
- Corporation selection (specific or all)
- Chart refresh intervals (5, 15, 30, 60 minutes)
- Decimal places for ISK values
- Chart colors for actual and predicted values
Performance Settings:
- Use precomputed predictions (recommended)
- Use precomputed monthly balances (recommended)
Member View Settings:
- Toggle section visibility
- Set ISK value privacy (show/hide actual amounts)
- Configure goal targets
- Set data delay for operational security
Usage
For Directors
- Navigate to Corp Wallet Manager → Director View
- Use the tabs to access different analytics:
- Overview: Current status, balance trends, predictions
- Analytics: Health scores, burn rates, financial ratios
- Trends: Activity patterns, best/worst days
- Performance: Division metrics and comparisons
- Cash Flow: Detailed income/expense analysis
- Reports: Executive summaries and custom reports
For Members
- Navigate to Corp Wallet Manager → Member View
- View simplified dashboard with:
- Corporation health status
- Progress toward goals
- Recent achievements
- Activity patterns
- Monthly summaries
API Endpoints
The plugin provides REST API endpoints for integration:
GET /corp-wallet-manager/api/latest
GET /corp-wallet-manager/api/monthly-comparison
GET /corp-wallet-manager/api/predictions
GET /corp-wallet-manager/api/summary
GET /corp-wallet-manager/api/analytics/health-score
GET /corp-wallet-manager/api/analytics/burn-rate
All endpoints support optional corporation_id
parameter for filtering.
Console Commands
Backfill Command
# Backfill specific month php artisan corpwalletmanager:backfill 2024 12 # Backfill last month only php artisan corpwalletmanager:backfill --recent # Backfill specific corporation php artisan corpwalletmanager:backfill --corporation=98765432 # Backfill custom number of months php artisan corpwalletmanager:backfill --months=6
Setup Command
# Initialize or verify permissions
php artisan corpwalletmanager:setup
Troubleshooting
No Data Showing
- Check if wallet data exists in SeAT:
SELECT COUNT(*) FROM corporation_wallet_journals;
- Run backfill command:
php artisan corpwalletmanager:backfill --months=1
- Check job status in Settings page
Permission Errors
- Ensure permissions are set up:
php artisan corpwalletmanager:setup
- Verify user has correct roles in SeAT Access Management
Charts Not Updating
- Check refresh interval in Settings
- Verify queue workers are running:
php artisan queue:work
- Check browser console for JavaScript errors
High Memory Usage
- Reduce backfill batch size by processing fewer months at once
- Increase PHP memory limit in
php.ini
- Use precomputed options in Settings
Database Tables
The plugin creates the following tables:
corpwalletmanager_monthly_balances
- Monthly balance aggregatescorpwalletmanager_predictions
- Balance predictionscorpwalletmanager_division_balances
- Division-specific balancescorpwalletmanager_division_predictions
- Division predictionscorpwalletmanager_settings
- Plugin configurationcorpwalletmanager_recalc_logs
- Job execution logscorpwalletmanager_access_logs
- User access trackingcorpwalletmanager_daily_summaries
- Daily aggregated data
Development
Running Tests
composer test
Building Assets
npm install npm run dev
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Performance Optimization
Recommended Settings for Large Corporations
For corporations with >10,000 transactions per month:
- Enable both precomputed options in Settings
- Set refresh interval to 15 minutes or higher
- Run backfill jobs during off-peak hours
- Consider increasing job timeout in
config/queue.php
Database Indexes
The plugin automatically creates optimal indexes. For additional performance, consider:
-- Add index for frequent corporation queries CREATE INDEX idx_corp_date ON corporation_wallet_journals(corporation_id, date);
Security
- All endpoints require authentication
- Permissions are enforced at route level
- Member view can hide sensitive ISK values
- Access logging tracks all user interactions
- Data delay option for operational security
Support
- Issues: GitHub Issues
- Discord: Join SeAT Discord and ask in #developers
- Email: mattfalahe@gmail.com
Credits
- Author: Matt Falahe
- Contributors: See contributors page
- Thanks to: SeAT Development Team
License
This project is licensed under the GPL-2.0-or-later License - see the LICENSE file for details.
Changelog
Version 1.0.5 (2025-09-13)
- Director and Member views
- Analytics dashboard
- Prediction system
- Division tracking
- Goal management
- Access logging
Roadmap
Planned Features
- Export to Excel/PDF
- Multi-corporation comparison
- Custom alert rules
- API rate limiting
- Webhook integrations
- Mobile-responsive improvements
- Custom report builder
- Budget planning tools
Made with ❤️ for the EVE Online community