A web application for managing personal income and expenses, built with Laravel. This application features a comprehensive dashboard, transaction tracking, and advanced SQL implementations including stored procedures, triggers, functions, and views.
- User Authentication: Secure registration and login system (Laravel Breeze).
- Dashboard: Real-time overview of financial status with charts and summaries.
- Transaction Management: Record income and expenses with detailed descriptions and dates.
- Data Visualization: Interactive charts using Chart.js.
Dashboard with Financial Summary and Charts
Transaction Management Interface
- Backend: Laravel 12, PHP 8.2
- Frontend: Blade Templates, Tailwind CSS, Alpine.js
- Database: MySQL / MariaDB
- Charts: Chart.js
This project demonstrates advanced database concepts:
- Views:
v_transaction_detailsfor simplified data retrieval. - Stored Procedures:
get_monthly_summaryfor generating monthly financial reports. - Functions:
get_total_incomefor calculating total user income. - Triggers:
before_transaction_insertfor data validation (ensuring positive amounts).
-
Clone the repository
git clone https://github.com/brianabdl/money-management-app.git cd money-management-app -
Install Dependencies
composer install npm install
-
Environment Setup Copy the
.env.examplefile to.envand configure your database credentials.cp .env.example .env php artisan key:generate
-
Database Setup Create a database and run migrations.
php artisan migrate
-
Seed Database (Optional) Populate the database with test data.
php artisan db:seed
-
Build Assets
npm run build
-
Run Application
php artisan serve
- Register a new account.
- Create categories for your income and expenses (e.g., Salary, Food, Transport).
- Start recording your transactions.
- View the dashboard to see your financial summary and charts.
This project is open-sourced software licensed under the MIT license.