- 💰 Income and expense tracking
- 📊 Financial reporting and analytics
- 📱 Responsive design for mobile and desktop
- 🔒 Secure user authentication
- 💳 Budget management
- 📈 Transaction history and categorization
- 🔒 reCAPTCHA Protection (v2/v3)
- 🔄 Database Version Control
- 🎛️ Advanced Security Settings
- 📱 Remember Me Functionality
- 🔐 Enhanced Authentication
- Backend: PHP (88%)
- Frontend:
- JavaScript (9.2%)
- CSS (0.3%)
- Additional: Hack (2.5%)
- Database: MySQL
- PHP 8.0 or higher
- MySQL/MariaDB
- Web server (Apache/Nginx)
- Modern web browser
- reCAPTCHA API keys (for security features)
- Clone the repository
git clone https://github.com/minggudevv/finance_manager.git
- Navigate to the project directory
cd finance_manager
- Configure your database
- Navigate to
/src/components/config/database.php
- Update the database configuration according to your environment:
$conn = new PDO(
"mysql:host=your_host;dbname=your_database;charset=utf8mb4",
"your_username",
"your_password",
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci"
]
);
- Create a new MySQL database named
keuangan
CREATE DATABASE keuangan CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- Import the database schema (if provided) or run your database migrations
The database configuration is located in /src/components/config/database.php
. By default, it uses these settings:
Host: localhost
Database: keuangan
Username: root
Password: (empty)
Charset: utf8mb4
Collation: utf8mb4_unicode_ci
To modify these settings, edit the PDO connection string and credentials in the database.php file.
- Configure your web server to point to the project directory
- Access the application through your web browser
- Start managing your finances:
- Add income and expenses
- Create budgets
- Generate reports
- Track your financial goals
- PDO prepared statements for SQL injection prevention
- UTF-8 encoding for proper character handling
- Error handling for database connections
- Exception handling for database operations
- reCAPTCHA integration for form protection
- Database version control system
- Remember me token encryption
- Enhanced session security
- Version-controlled database updates
The system now includes database version control:
- Automatic version detection
- Safe upgrade/downgrade functionality
- GitHub tag integration
- Version-specific database migrations
- Admin version management interface
Current stable version: 1.0.5-beta
- Enhanced security features
- reCAPTCHA protection
- Database version control
- Remember me functionality
- Improved admin controls
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
minggudevv
- GitHub: @minggudevv
- Last Updated: 2025-02-16
finance_manager/
├── src/
│ └── components/
│ └── config/
│ └── database.php # Database configuration
├── ...
- PHP Community
- Contributors and users of this project
- Open source packages used in this project
Made with ❤️ by minggudevv