Skip to content

ractangular/estimate

Repository files navigation

Estimate - Personal Finance Management & Task Tracker

A comprehensive personal finance management application with integrated task tracking capabilities built with Laravel. This application helps users manage their income, expenses, savings, and track objectives with a clean and intuitive interface.

πŸš€ Features

Financial Management

  • Income Tracking: Record and monitor all sources of income
  • Expense Management: Track daily expenses with categorization
  • Savings Planning: Dedicated section for savings (nabung) and emergency funds (darurat)
  • Monthly Filtering: View financial data by specific months
  • Financial Overview: Dashboard showing total income, expenses, savings, and remaining balance
  • Transaction Details: Record transaction date, time, category, and details

Task Management (Taskman)

  • Objective Planning: Create and manage goals and objectives
  • Task Lists: Break down objectives into actionable tasks
  • Deadline Tracking: Set and monitor deadlines for objectives and tasks
  • Priority Levels: Assign priority levels to tasks
  • Status Management: Track progress with status indicators (Not Started, In Progress, Finished)
  • Plan Agendas: Organize objectives into plan agendas with date ranges
  • Team Assignment: Assign tasks to different users/colleagues

Additional Features

  • User Management: Create and manage user accounts
  • Bug & Release Tracker: Track application bugs and release history
  • Log Viewer: Access to application logs (in development environment)
  • Responsive Design: Clean UI with SneaT template

πŸ› οΈ Tech Stack

  • Backend: Laravel 11.x
  • Frontend: Blade Templates, Tailwind CSS, Vite
  • Database: SQLite (default), can be configured for MySQL/PostgreSQL
  • Package Manager: Composer (PHP), NPM (JS)
  • UI Framework: SneaT Admin Template v3.0
  • Development Tools: Laravel Pint, Debugbar, Collision

πŸ“‹ Requirements

  • PHP >= 8.2
  • Composer
  • Node.js & NPM
  • SQLite (or MySQL/PostgreSQL)

πŸš€ Installation

  1. Clone the repository

    git clone <repository-url>
    cd estimate
  2. Install PHP dependencies

    composer install
  3. Install frontend dependencies

    npm install
  4. Set up environment

    cp .env.example .env
    php artisan key:generate
  5. Database setup

    # For SQLite (default)
    touch database/database.sqlite
    
    # Run migrations
    php artisan migrate
  6. Build frontend assets

    npm run build
    # or for development
    npm run dev
  7. Start the development server

    php artisan serve

πŸš€ Quick Start with Development Server

For a quick start during development, you can use the built-in development script:

composer run dev

This command will concurrently start:

  • PHP development server
  • Queue listener
  • Laravel Pail (log viewer)
  • Vite dev server

πŸ”§ Configuration

Environment Variables

The application uses the following key environment variables:

  • APP_NAME - Application name
  • APP_ENV - Environment (local, production, etc.)
  • APP_KEY - Encryption key (generated with php artisan key:generate)
  • DB_CONNECTION - Database connection type
  • DB_DATABASE - Database name
  • DB_USERNAME - Database username
  • DB_PASSWORD - Database password

Database Configuration

By default, the application uses SQLite. To switch to MySQL or PostgreSQL:

  1. Update your .env file:

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=your_database_name
    DB_USERNAME=your_username
    DB_PASSWORD=your_password
  2. Run migrations:

    php artisan migrate

πŸ“– Usage

Financial Management

  1. Navigate to the Income section
  2. Add transactions by specifying:
    • Date and time of transaction
    • Type (Income, Expense, Savings, Emergency Fund)
    • Category and details
    • Amount
  3. Filter transactions by month to view financial reports
  4. Monitor your financial health through the dashboard

Task Management

  1. Go to the Taskman section
  2. Create a plan agenda with date ranges
  3. Add objectives to your plan
  4. Break down objectives into specific tasks
  5. Assign tasks to team members with deadlines
  6. Track progress with status updates

User Management

  1. Access the Users section
  2. Create new user accounts
  3. Manage user roles and permissions

πŸ§ͺ Testing

Run the application tests:

php artisan test

πŸš€ Development

Frontend Development

# Compile and watch assets for development
npm run dev

# Build assets for production
npm run build

Code Formatting

# Format PHP code using Laravel Pint
./vendor/bin/pint

Database Operations

# Run migrations
php artisan migrate

# Seed the database
php artisan db:seed

# Refresh migrations
php artisan migrate:refresh

πŸ“ Project Structure

estimate/
β”œβ”€β”€ app/                    # Application source code
β”‚   β”œβ”€β”€ Helpers/           # Custom helper functions
β”‚   β”œβ”€β”€ Http/              # Controllers, middleware
β”‚   β”œβ”€β”€ Models/            # Eloquent models
β”‚   └── Providers/         # Service providers
β”œβ”€β”€ database/              # Migrations, seeds, factories
β”œβ”€β”€ resources/             # Views, assets, lang
β”œβ”€β”€ routes/                # Application routes
β”œβ”€β”€ storage/               # File storage
└── tests/                 # Test files

🀝 Contributing

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

πŸ› Issue Tracking

Report bugs and feature requests through the integrated Tracker Bug section in the application or via GitHub Issues.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†™ Changelog

[v0.2.0] - 19 January 2026

  • πŸš€ New Feature: Enhanced Taskman with plan agenda functionality
  • πŸš€ New Feature: Taskman with breadcrumb navigation
  • πŸš€ New Feature: Weekly monitoring with date-based task loading
  • πŸš€ New Feature: Sub-task management with delete actions
  • πŸš€ New Feature: Evidence field with long input support
  • πŸš€ New Feature: Task update functionality with evidence handling
  • πŸš€ New Feature: Plan agenda creation with date ranges
  • πŸš€ New Feature: Objective percentage calculation
  • πŸš€ New Feature: Log viewer integration
  • πŸ”„ Enhancement: Improved deadline filtering (descending order)
  • πŸ”„ Enhancement: Better UI/UX for task management
  • πŸ”„ Enhancement: JavaScript function improvements for task loading
  • πŸ”„ Enhancement: Field validation and input improvements
  • πŸ”„ Enhancement: Responsive design adjustments
  • πŸ”„ Enhancement: Database Abstraction Layer (DBAL) integration for multi-database support
  • πŸ› Bugfix: Fixed duplicate query for user data retrieval
  • πŸ› Bugfix: Corrected task positioning issues
  • πŸ› Bugfix: Fixed date filter in charts
  • πŸ› Bugfix: Menu active state persistence across pages
  • πŸ› Bugfix: Various UI and functionality improvements

[v0.1.2] - 03 November 2025

  • πŸš€ New Feature: Moneytor filter monthly show data / rollback
  • πŸš€ New Feature: Taskman objective key and task list
  • Running command before launch app
$ composer install
$ composer dump-autoload

[v0.0.1] - 27 September 2025

  • πŸš€ New Feature: Create Data User & Form
  • ✨ Tambah Menu History Release & Bug & Issue Tracker
  • 🎨 Template Sneat v3.0
  • πŸ› οΈ Penyesuaian Menu Side Bar
  • πŸ› οΈ Bugfix #3 : Table User if No Data

πŸ“ž Support

For support, please open an issue in the repository or contact the development team.


Made with ❀️ using Laravel

About

ST.mate Pro - Make your easy to manage & improve

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors