💰 Self-hosted personal finance tracking web app

Overview

FINANCE

FINANCE is a simple yet powerful, self-hosted personal finance tracking web app with the ability to parse SMS transactions and generate very useful insights about your money

💰 Sponsors

Support this project by becoming a sponsor ❤️ . Your logo will show up here with a link to your website. Become a sponsor

🛠 Features

  1. Self-hosted - full control over your data privacy
  2. Parse SMS bank transactions
  3. Detailed analysis of income and expenses

🎮 Demo

Try the app with live demo.

▶️ Installation

Docker Installation

# step 1: clone the repo
git clone https://github.com/saleem-hadad/finance && cd finance

# step 2: create .env file
cp .env.sail.example .env

# step 3: install deps via composer
docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v $(pwd):/var/www/html \
    -w /var/www/html \
    laravelsail/php81-composer:latest \
    composer install --ignore-platform-reqs

# step 4: serve the app
./vendor/bin/sail up -d

# step 5: generate app key
./vendor/bin/sail artisan key:generate

# step 6: run migration
./vendor/bin/sail artisan migrate

# step 7: run install command and follow the instructions
./vendor/bin/sail artisan finance:install

Once done, visit the app on http://localhost

Normal Laravel App

If you wish installing the app using normal Laravel environment, make sure you have PHP, MySQL, and composer already installed and then run the following commands:

# step 1: clone the repo
git clone https://github.com/saleem-hadad/finance && cd finance

# step 2: create .env file
cp .env.example .env

# step 3: install deps via composer
composer install

# step 4: generate app key
php artisan key:generate

# step 5: run the migration
php artisan migrate

# step 6: run install command and follow the instructions
php artisan finance:install

# step 7: serve the app
php artisan serve

Once done, visit the app on http://localhost:8000

Read full documentation

🪚 Built with

  1. Laravel
  2. Inertia & ReactJs
  3. GraphQL
  4. MySQL
  5. Docker

🔖 License

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

Comments
  • Category with color

    Category with color

    This PR added color option feature for category title, User can choose the predefined color while creating category and also user can change the color on update as well.

    opened by ahaneef29 11
  • Stocks Tracking

    Stocks Tracking

    Think about managing your stock market portfolio or e.g on date: 18/01/2022 I have bought Xyz stock at $100 at 100 quantity and sold at 50 stock at $120 and another 50 stocks are sold at $90 so total I have earned/lost XX much by this month etc and then profit and lost take it as income and expense.

    opened by gigabyteservice 1
  • Added Basic API Endpoints Support

    Added Basic API Endpoints Support

    This PR intends to support basic API's, Once User hosted the Finance Web App, User can access the finance data using API. This will be useful for mobile app integration.

    I'm planning to develop a mobile app, which will have self-hosted URL or IP. Once User added the hosting detail. The mobile App will sync the data from the server.

    [+] Main advantage of having mobile app is to Read SMS from directly

    opened by ahaneef29 1
  • Bump loader-utils from 1.4.0 to 1.4.2

    Bump loader-utils from 1.4.0 to 1.4.2

    Bumps loader-utils from 1.4.0 to 1.4.2.

    Release notes

    Sourced from loader-utils's releases.

    v1.4.2

    1.4.2 (2022-11-11)

    Bug Fixes

    v1.4.1

    1.4.1 (2022-11-07)

    Bug Fixes

    Changelog

    Sourced from loader-utils's changelog.

    1.4.2 (2022-11-11)

    Bug Fixes

    1.4.1 (2022-11-07)

    Bug Fixes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump dompdf/dompdf from 2.0.0 to 2.0.1

    Bump dompdf/dompdf from 2.0.0 to 2.0.1

    Bumps dompdf/dompdf from 2.0.0 to 2.0.1.

    Release notes

    Sourced from dompdf/dompdf's releases.

    Dompdf 2.0.1

    Change highlights since 2.0.0

    • Improved font-face declaration parsing and handling
    • Improved layout of images with percentage-based dimensions

    This release addresses the following vulnerabilities:

    Vulnerability References Type Severity
    Remote file inclusion #29942994 Information Disclosure TBD

    2.0.x highlights

    • Modifies callback and page_script/page_text handling
    • Switches the HTML5 parser to Masterminds/HTML5
    • Improves CSS property parsing and representation
    • Switches installed fonts and font metrics cache file format to JSON

    The list of addressed issues can be found in the 2.0.1 release milestone. View all changes since the previous release in the commit history.

    We would like to extend our gratitude to the community members who helped make this release possible.

    Requirements

    Dompdf 2.0.1 requires the following:

    • PHP 7.1 or greater
    • html5-php v2.0.0 or greater
    • php-font-lib v0.5.4 or greater
    • php-svg-lib v0.3.3 or greater

    Note that some dependencies may have further dependencies (notably php-svg-lib requires sabberworm/php-css-parser).

    Additionally, the following are recommended for optimal use:

    • GD (for image processing)

    For full requirements and recommendations see the requirements page on the wiki.

    Download Instructions

    The dompdf team recommends that you use Composer for easier dependency management.

    If you're not yet using Composer you can download a packaged release of dompdf which includes all the files you need to use the library. Click the link labeled "dompdf_2-0-1.zip" for the packaged release. The download options labeled "Source code" are auto-generated by github and do not include all the dependencies.

    Commits
    • c5310df Add max version for php-font-lib/php-svg-lib
    • 2d09f59 Update composer.json
    • c176076 bump version to 2.0.1
    • 7456bb0 Fix body rendering when border is applied
    • fe4e904 Allow leading space in at-font-face URL function
    • 66431c5 Halt font registration when URL fails validation
    • 9adb812 Include replacement characters in Cpdf font subset
    • f5da2fd Indicate that CSS grid is not supported
    • bbecc9a adds CSS flexbox as a limitation
    • e82c746 Improve type hinting
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies php 
    opened by dependabot[bot] 0
  • Bump @xmldom/xmldom from 0.7.5 to 0.7.6

    Bump @xmldom/xmldom from 0.7.5 to 0.7.6

    Bumps @xmldom/xmldom from 0.7.5 to 0.7.6.

    Release notes

    Sourced from @​xmldom/xmldom's releases.

    0.7.6

    Commits

    Fixed

    Thank you, @​jftanner, @​Supraja9726 for your contributions

    Changelog

    Sourced from @​xmldom/xmldom's changelog.

    0.7.6

    Fixed

    Thank you, @​jftanner, @​Supraja9726 for your contributions

    0.8.3

    Fixed

    Thank you, @​Supraja9726 for your contributions

    0.9.0-beta.2

    Fixed

    Thank you, @​Supraja9726 for your contributions

    0.9.0-beta.1

    Fixed

    Only use HTML rules if mimeType matches [#338](https://github.com/xmldom/xmldom/issues/338), fixes [#203](https://github.com/xmldom/xmldom/issues/203)

    In the living specs for parsing XML and HTML, that this library is trying to implement, there is a distinction between the different types of documents being parsed: There are quite some rules that are different for parsing, constructing and serializing XML vs HTML documents.

    So far xmldom was always "detecting" whether "the HTML rules should be applied" by looking at the current namespace. So from the first time an the HTML default namespace (http://www.w3.org/1999/xhtml) was found, every node was treated as being part of an HTML document. This misconception is the root cause for quite some reported bugs.

    BREAKING CHANGE: HTML rules are no longer applied just because of the namespace, but require the mimeType argument passed to DOMParser.parseFromString(source, mimeType) to match 'text/html'. Doing so implies all rules for handling casing for tag and attribute names when parsing, creation of nodes and searching nodes.

    BREAKING CHANGE: Correct the return type of DOMParser.parseFromString to Document | undefined. In case of parsing errors it was always possible that "the returned Document" has not been created. In case you are using Typescript you now need to handle those cases.

    BREAKING CHANGE: The instance property DOMParser.options is no longer available, instead use the individual readonly property per option (assign, domHandler, errorHandler, normalizeLineEndings, locator, xmlns). Those also provides the default value if the option was not passed. The 'locator' option is now just a boolean (default remains true).

    BREAKING CHANGE: The following methods no longer allow a (non spec compliant) boolean argument to toggle "HTML rules":

    • XMLSerializer.serializeToString
    • Node.toString
    • Document.toString

    The following interfaces have been implemented: DOMImplementation now implements all methods defined in the DOM spec, but not all of the behavior is implemented (see docstring):

    • createDocument creates an "XML Document" (prototype: Document, property type is 'xml')

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • 💰 Add facts reports to dashboard #feature

    💰 Add facts reports to dashboard #feature

    Rearrange FINANCE dashboard to include a new section called Facts. This section is to provide cool facts about your money including, the highest/lowest transaction, the number of transactions per category, ..etc. The implementation is an extension of the existing system structure, meaning using the same UI and backend components with a few modifications including adding new properties and extending the UI components. The new facts/reports are:

    • Number of transactions per type
    • Number of transactions per category
    • Number of transactions per brand
    • Highest value transaction
    • Lowest value transaction
    • Average value transaction
    • Transactions standard deviation
    Screen Shot 2022-10-22 at 6 12 49 PM feature 
    opened by saleem-hadad 0
  • Bump terser from 4.8.0 to 4.8.1

    Bump terser from 4.8.0 to 4.8.1

    Bumps terser from 4.8.0 to 4.8.1.

    Changelog

    Sourced from terser's changelog.

    v4.8.1 (backport)

    • Security fix for RegExps that should not be evaluated (regexp DDOS)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Add Increase/Decrease for value metric #feature

    Add Increase/Decrease for value metric #feature

    Add the ability to see the percentage increase and decrease for value metrics (total income and total expenses) when we select a range that has previous searchability.

    Screen Shot 2022-07-17 at 2 58 18 AM Screen Shot 2022-07-17 at 2 58 12 AM enhancement 
    opened by saleem-hadad 0
  • Bump nanoid from 3.1.30 to 3.3.4

    Bump nanoid from 3.1.30 to 3.3.4

    Bumps nanoid from 3.1.30 to 3.3.4.

    Changelog

    Sourced from nanoid's changelog.

    3.3.4

    3.3.3

    • Reduced size (by Anton Khlynovskiy).

    3.3.2

    • Fixed enhanced-resolve support.

    3.3.1

    • Reduced package size.

    3.3

    • Added size argument to function from customAlphabet (by Stefan Sundin).

    3.2

    • Added --size and --alphabet arguments to binary (by Vitaly Baev).

    3.1.32

    • Reduced async exports size (by Artyom Arutyunyan).
    • Moved from Jest to uvu (by Vitaly Baev).

    3.1.31

    • Fixed collision vulnerability on object in size (by Artyom Arutyunyan).
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump follow-redirects from 1.14.6 to 1.15.1

    Bump follow-redirects from 1.14.6 to 1.15.1

    Bumps follow-redirects from 1.14.6 to 1.15.1.

    Commits
    • 62a551c Release version 1.15.1 of the npm package.
    • 7fe0779 Use for ... of.
    • 948c30c Fix redirecting to relative URL when using proxy
    • 22e81fc Release version 1.15.0 of the npm package.
    • 96a3947 Add headers to request details
    • 24dcb20 Pass status & request details to beforeRedirect (#198)
    • 7abae9b Test on Node 18.
    • 79d0d8d refactor: replace deprecated String.prototype.substr() (#196)
    • 13136e9 Release version 1.14.9 of the npm package.
    • 2ec9b0b Keep headers when upgrading from HTTP to HTTPS.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Please make a docker image available

    Please make a docker image available

    I'm a docker beginner, and while I do know my way around container deployment in general, the deployment process of this app (which is easily the most beautiful one for personal finance management) is a bit too complicated.

    Could you make a docker image available for this, with a simplified docker-compose?

    opened by AvMavs 2
Releases(v1.8.0)
  • v1.8.0(Oct 22, 2022)

    What's Changed

    • Use category color in brands and transactions listing by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/31
    • 💰 Add facts reports to dashboard #feature by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/33

    Full Changelog: https://github.com/saleem-hadad/finance/compare/v1.7.1...v1.8.0

    Source code(tar.gz)
    Source code(zip)
  • v1.7.1(Sep 27, 2022)

    What's Changed

    • Add lazy loading to fix n+1 problem with fetching data by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/29
    • Unify button component by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/30

    Full Changelog: https://github.com/saleem-hadad/finance/compare/v1.7.0...v1.7.1

    Source code(tar.gz)
    Source code(zip)
  • v1.7.0(Jul 23, 2022)

    What's Changed

    • Bump terser from 4.8.0 to 4.8.1 by @dependabot in https://github.com/saleem-hadad/finance/pull/28
    • Category with color by @ahaneef29 in https://github.com/saleem-hadad/finance/pull/25

    New Contributors

    • @ahaneef29 made their first contribution in https://github.com/saleem-hadad/finance/pull/25

    Full Changelog: https://github.com/saleem-hadad/finance/compare/v1.6.1...v1.7.0

    Please run the following commands if you upgrade from prev. releases

    php artisan migrate
    php artisan cache:clear
    
    Source code(tar.gz)
    Source code(zip)
  • v1.6.1(Jul 16, 2022)

    What's Changed

    • Prod JS #fix by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/27

    Full Changelog: https://github.com/saleem-hadad/finance/compare/v1.6.0...v1.6.1

    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Jul 16, 2022)

    What's Changed

    • Add Increase/Decrease for value metric #feature by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/26

    Possible Breaking Change

    If you have any custom value metric please make sure to return its value in a new form

    <?php
    ...
    class TotalIncome extends ValueMetric
    {
        public function __invoke($_, array $args)
        {
            return [
                'value' => ...
            ];
        }
    }
    

    Full Changelog: https://github.com/saleem-hadad/finance/compare/v1.5.1...v1.6.0

    Source code(tar.gz)
    Source code(zip)
  • v1.5.1(Jul 16, 2022)

    What's Changed

    • Fix total cash and added total savings and investment #fix by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/24

    Full Changelog: https://github.com/saleem-hadad/finance/compare/v1.5.0...v1.5.1

    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Jul 15, 2022)

    What's Changed

    • Add CBD bank transactions templates and the ability to parse with DateTime #feature by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/17
    • Upgrade to searchable Combobox from native dropdown #feature by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/18

    Full Changelog: https://github.com/saleem-hadad/finance/compare/v1.4.0...v1.5.0

    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(May 22, 2022)

    What's Changed

    • Formatting number #fix by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/14
    • Update number formatting for partition metric #fix by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/15
    • Add saving and investment types for category #feature by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/16

    Full Changelog: https://github.com/saleem-hadad/finance/compare/v1.3.0...v1.4.0

    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Apr 23, 2022)

    What's Changed

    • Bump dompdf/dompdf from 1.1.1 to 1.2.1 by @dependabot in https://github.com/saleem-hadad/finance/pull/9
    • Add UI unit tests setup by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/8
    • Bump minimist from 1.2.5 to 1.2.6 by @dependabot in https://github.com/saleem-hadad/finance/pull/10
    • Add UI unit tests #feature by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/11
    • Bump async from 2.6.3 to 2.6.4 by @dependabot in https://github.com/saleem-hadad/finance/pull/12
    • Add value metric unit tests #features by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/13

    New Contributors

    • @dependabot made their first contribution in https://github.com/saleem-hadad/finance/pull/9

    Full Changelog: https://github.com/saleem-hadad/finance/compare/v1.2.0...v1.3.0

    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Apr 4, 2022)

    What's Changed

    • 🐛 Split big rows into multiple by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/5
    • Add optional notes to transactions #feature by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/7

    Full Changelog: https://github.com/saleem-hadad/finance/compare/v1.1.0...v1.2.0

    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Jan 30, 2022)

    What's Changed

    • Circleci project setup by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/3
    • Monthly email report #feature by @saleem-hadad in https://github.com/saleem-hadad/finance/pull/4

    New Contributors

    • @saleem-hadad made their first contribution in https://github.com/saleem-hadad/finance/pull/3

    Full Changelog: https://github.com/saleem-hadad/finance/compare/v1.0.2...v1.1.0

    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Jan 20, 2022)

  • v1.0.1(Jan 20, 2022)

  • v1.0.0(Jan 17, 2022)

Owner
Saleem Hadad
Entrepreneur & Software Engineer
Saleem Hadad
The 1Password Connect PHP SDK provides your PHP applications access to the 1Password Connect API hosted on your infrastructure and leverage the power of 1Password Secrets Automation

1Password Connect PHP SDK The 1Password Connect PHP SDK provides your PHP applications access to the 1Password Connect API hosted on your infrastructu

Michelangelo van Dam 12 Dec 26, 2022
SAML bundle for gateway, self-service, and ra

SURFnet SamlBundle A bundle that adds SAML capabilities to your application using simplesamlphp/saml2 Developed as part of the SURFnet Stepup Gateway

OpenConext 12 Dec 14, 2022
This bundle provides tools to build a complete GraphQL server in your Symfony App.

OverblogGraphQLBundle This Symfony bundle provides integration of GraphQL using webonyx/graphql-php and GraphQL Relay. It also supports: batching with

Webedia - Overblog 720 Dec 25, 2022
Integration with your Symfony app & Vite

ViteBundle : Symfony integration with Vite This bundle helping you render all of the dynamic script and link tags needed. Essentially, he provide two

Hugues Tavernier 84 Dec 21, 2022
Most Advance online restaurant menu, food delivery system, online restaurant menu, free online restaurant menu, free online restaurant menu app, online restaurant menu service provider

Buffet Box online menu and cloud kitchen Most Advance online restaurant menu, online restaurant menu, free online restaurant menu, free online restaur

null 20 Oct 28, 2022
API documentation API SCB EASY APP

SCB-API-EASY V3.0 API documentation SIAM COMMERCIAL BANK PUBLIC COMPANY LTD. API SCB Easy V3 endpoint = https://fasteasy.scbeasy.link 1.0. Get balance

SCB API Esay team 2 Sep 28, 2021
Laravel A2Reviews Client API lets you build apps, extensions, or plugins to get reviews from the A2reviews APP.

Overview Laravel A2Reviews Client API lets you build apps, extensions or plugins to get reviews from the A2reviews APP. Including adding reviews to a

Be Duc Tai 2 Sep 26, 2021
System to control your app from site

ProgramManager System to control your app from site You can add more featutre and develop page you must use DataBase mysql 3 columns , 1 for id ( AI c

OmarMazin 4 Mar 17, 2022
Ariama Victor (A.K.A. OVAC4U) 106 Dec 25, 2022
API for flutter app in laravel with sanctum

Flutter APP Flutter: APP with auth in laravel About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe develop

Angel Flores 0 Apr 9, 2022
LaraBooks API - Simple API for iOS SwiftUI app tests.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Konrad Podrygalski 1 Nov 13, 2021
Facebook SDK for PHP (v6) - allows you to access the Facebook Platform from your PHP app

Facebook SDK for PHP (v6) This repository contains the open source PHP SDK that allows you to access the Facebook Platform from your PHP app. Installa

null 0 Aug 10, 2022
Simple and effective multi-format Web API Server to host your PHP API as Pragmatic REST and / or RESTful API

Luracast Restler ![Gitter](https://badges.gitter.im/Join Chat.svg) Version 3.0 Release Candidate 5 Restler is a simple and effective multi-format Web

Luracast 1.4k Dec 14, 2022
A PHP library to support implementing representations for HATEOAS REST web services.

Hateoas A PHP library to support implementing representations for HATEOAS REST web services. Installation Working With Symfony Usage Introduction Conf

William Durand 998 Dec 5, 2022
Aplicación API para consumir el Servicio Web de Descarga Masiva del SAT.

API Descarga Masiva Aplicación API para consumir el Servicio Web de Descarga Masiva del SAT. Note: The documentation of this project is in Spanish, as

phpCfdi 11 Oct 11, 2022
Backend para la aplicación web Calidú

Calidu API En este repositorio podrá encontrar todo el backend correspondiente a la aplicación web Calidú., en complemento con el repositorio Frontend

César Suárez 1 Jan 12, 2022
The BrowserKit component simulates the behavior of a web browser

BrowserKit Component The BrowserKit component simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms

Symfony 2.7k Dec 29, 2022
PHP project for tracking Azure AD App Reg secrets about to expire, and (manually) tracking SSL certificates

CertExpiry Katy Nicholson https://katystech.blog/ Setup instructions etc available at: https://katystech.blog/2021/11/certexpiry/ PHP project for trac

Katy Nicholson 5 Oct 2, 2022
Your personal Self-hosted or offline YoutTube Kids!

New Tube You have a problem with youtube kids and need online youtube? This is yours. NewTube! Simply clone the project and put your mp4 video & cover

Javad Adib 7 Dec 28, 2022
An open source self hosted notes and bookmarks taking web app.

Benotes An open source self hosted web app for your notes and bookmarks side by side. This project is currently in Beta. You may encounter bugs or err

null 264 Jan 2, 2023