Expense Manager is a premium, web-based financial tracking application designed to help you manage your personal finances with elegance and precision. Built with modern PHP and a glassmorphism-inspired UI, it provides a comprehensive 360-degree view of your wealth, spending habits, credit card portfolio, and spiritual obligations.
- Real-Time Overview: Instant access to Income, Expenses, Net Worth, and Credit Limits.
- Visual Analytics: Interactive charts for spending breakdown (Doughnut), monthly trends (Line), and wealth journey monitoring.
- Card Portfolio: Visual wallet for credit/debit cards with "Best Card" recommendations for specific spend categories (e.g., Dining, Fuel).
- Bank Balances: Net worth engine that aggregates assets across multiple bank accounts.
- Liquidity Gauge: Calculates "True Liquidity" by subtracting unbilled credit card expenses from cash on hand.
- Zakath Tracker: Smart calculator that pulls bank balances and gold/silver rates to compute and track 2.5% Zakath obligations.
- Sadaqa Tracker: Log and track voluntary charity donations.
- Interest Purifier: Separate tracking for interest income to ensure ethical disposal.
- Company Tracker: Monitor annual incentives, bonuses, and sales performance grids.
- Lending Tracker: Keep track of money lent to friends and family with repayment status.
- Installable Web App: Native-like experience on iOS and Android with offline fallback.
- Responsive Design: Mobile-first glassmorphism UI that adapts to any screen size.
This application is built with a robust, standard LAMP/LEMP stack:
- Backend:
- PHP 8.0+: Core logic, PDO for database interactions.
- MySQL: Relational database for storing financial data.
- Frontend:
- HTML5 & CSS3: Semantic markup with modern CSS variables.
- JavaScript (ES6+): Dynamic interactions and AJAX handling.
- Chart.js: Data visualization.
- Bootstrap 5: Responsive layout framework.
- Security:
- CSRF Protection: Token-based security for all forms.
- Input Sanitization: Protection against XSS and SQL injection.
- Environment Variables: Secure credential management via
.env.
The application is modularized for maintainability:
/includes: Reusable UI components.header.php: Navigation, meta tags, and CSS inclusions.sidebar.php: Main navigation menu for desktop and mobile.footer.php: Scripts and closing tags.
/assets: Static resources./css: Custom styles (style.css) and frameworks./js: Frontend logic and Service Worker (sw.js).
- Core Trackers:
expenses.php/income.php: Core financial logging.zakath_tracker.php: Religious obligation calculation.company_tracker.php: Professional income tracking.my_cards.php: Credit card management system.
- A PHP-supported web server (Apache/Nginx).
- MySQL Database.
- Composer (optional, for future dependencies).
-
Clone the Repository
git clone https://github.com/yourusername/expense-manager.git cd expense-manager -
Run the Installer
- Navigate to
http://localhost/expense-manager/install/install.php - Follow the 4-step wizard to:
- Connect to your Database
- Create the
.envconfiguration file automatically - Set up all database tables
- Create your Admin Account
- Navigate to
-
That's it!
- The installer will automatically delete itself for security.
- You will be redirected to your dashboard.
- Application Logs: Errors are logged to
error.login the root directory (as configured inconfig.php). Ensure this file is not accessible publicly via.htaccessor server config in production. - CSRF Tokens: Every form submission is protected by a unique session token.
- Session Management: Secure session handling to prevent unauthorized access.
This project is licensed under the MIT License - see the LICENSE file for details.