Masrofi is a personal expense tracking web application built with Laravel. It's the predecessor of MasrofiSimple.
-
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.
-
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.
You can create an account and start using Masrofi for free here.
If you prefer, you can run and host Masrofi on your own server. (Docker version coming soon)
Make sure you have the following installed on your machine:
- git
- php 8.2
- composer 2.7
- Gemini API key (Get one for free here)
- Clone the Project
git clone https://github.com/CuzImAzizx/Masrofi
cd Masrofi
- Install the Dependencies
composer install
- Copy the Environment Configuration
cp .env.example .env
- Generate an Application Key
php artisan key:generate
- Add Your API Key in the
.env
File
GEMINI_API_KEY=YOUR_KEY_HERE
- 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.
- Run Migrations
php artisan migrate
You may be prompted to create a new SQLite database. Confirm to create the database.
- Seed the Database with Initial Data
php artisan db:seed
- Create Storage Links
php artisan storage:link
- Run the Development Server
php artisan serve
Visit http://localhost:8000
in your web browser to view the application.
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.
-
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.
-
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
. -
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]
. -
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
-
Check the Transactions
Launch Masrofi, log in to your account, and verify that the transactions have been successfully transferred.