Skip to content

Personal expense tracking web application built with Laravel.

License

Notifications You must be signed in to change notification settings

CuzImAzizx/Masrofi

Repository files navigation

Masrofi مصروفي

alt text

About Masrofi

Masrofi is a personal expense tracking web application built with Laravel. It's the predecessor of MasrofiSimple.

What is Special About Masrofi?

  • Powered by AI: Using AI model to analyze SMS transaction messages and extract essential information, such as store names, amounts, and dates for convenient and efficient use.

  • Insights and Visualization: Gain valuable insights into your spending habits with interactive graphs and visualizations.

  • Advanced Searching/Filtering: Easily query your transactions by name, filter within specific time periods, and search within designated amount ranges for enhanced financial tracking.

  • Report Generation: Generate and print detailed reports of your transactions. Export your data in various formats, including PDF, CSV, or JSON, for easy sharing and record-keeping.

alt text

alt text

What Have Been Improved?

  • Built as a Laravel 11 application: Compared to MasrofiSimple, which is built with Express.js and EJS, Masrofi leverages the robust features of Laravel 11 for enhanced performance and scalability.

  • Supports multiple users: Unlike MasrofiSimple, which is a single-user application, Masrofi allows multiple users to manage their expenses concurrently.

  • Employs an actual relational database: Instead of using a single JSON file (db.json), Masrofi integrates a relational database, providing better data management and integrity.

  • Enhanced Expense Visualization: You can now visualize your spending habits through interactive graphs and charts, making it easier to track and analyze expenses over time.

  • Sharing and Extraction Features: Masrofi allows you to easily share your transaction data and extract reports in various formats, including PDF, CSV, or JSON, for better accessibility and record-keeping.

Masrofi now is using modern technologies, it's a multi-user robust web application for tracking personal expenses. With the ability to manipulate transactions efficiently.

alt text

How to use Masrofi?

Use the online version for free

You can create an account and start using Masrofi for free here.

Self-hosting

If you prefer, you can run and host Masrofi on your own server. (Docker version coming soon)

Requirements

Make sure you have the following installed on your machine:

Installation steps

  1. Clone the Project
git clone https://github.com/CuzImAzizx/Masrofi
cd Masrofi
  1. Install the Dependencies
composer install
  1. Copy the Environment Configuration
cp .env.example .env
  1. Generate an Application Key
php artisan key:generate
  1. Add Your API Key in the .env File
GEMINI_API_KEY=YOUR_KEY_HERE
  1. Database Configuration (Optional)

You may choose to update the database configuration or keep the default settings, which utilize an SQLite database that requires no additional configuration.

  1. Run Migrations
php artisan migrate

You may be prompted to create a new SQLite database. Confirm to create the database.

  1. Seed the Database with Initial Data
php artisan db:seed
  1. Create Storage Links
php artisan storage:link
  1. Run the Development Server
php artisan serve

Visit http://localhost:8000 in your web browser to view the application.

Migrate from MasrofiSimple

You can easily migrate your transactions and configurations from the old MasrofiSimple app. The migrated transactions will retain their data, including store names, dates, and invoice images.

Requirements

  • MasrofiSimple App Folder: Ensure you have the app folder on your filesystem, which should include db.json and .env.

  • Masrofi: The Masrofi app must be running and functional on your system alongside the MasrofiSimple app folder.

  • An account in Masrofi: You need a user account in Masrofi to transfer your old transactions.

Migration Steps

  1. Locate the MasrofiSimple Path

    Copy the absolute path of your MasrofiSimple app folder that contains the transactions you want to transfer. For example: /home/aziz/Documents/MasrofiSimple.

  2. Get the User Email

    Get the email address of the user to whom you want to transfer your old transactions to. For example: [email protected].

  3. Run the Migration Command

    In your Masrofi app, execute the migration command:

    php artisan app:migrate-masrofi-simple "[email protected]" "/home/aziz/Documents/MasrofiSimple"

    Replace the values with your own values

  4. Check the Transactions

    Launch Masrofi, log in to your account, and verify that the transactions have been successfully transferred.

About

Personal expense tracking web application built with Laravel.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published