PHP Classes

PHP Personal Finance App API: Provides an API to control personal expenses

Recommend this page to a friend!
  Info   Documentation   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not yet rated by the usersTotal: 140 All time: 9,211 This week: 560Up
Version License PHP version Categories
personal-finance-con 1.0.0GNU General Publi...7Finances, Data types, Design Patterns, P...
Description 

Author

This package provides an API to control personal expenses.

It can handle HTTP requests for performing several types of operations for managing an application that keeps track of expenses of its users. Currently it can:

- Register and authenticate users
- Retrieve and update use account information
- Manage details about user places, earnings, expenses, credit cards and categories.

Innovation Award
PHP Programming Innovation award nominee
March 2020
Number 2
Finances are an important area of life that people should be able to manage, so they can control their expenses, do not spend more money than the earn, and hopefully save money to invest in something important in their future.

This package provides and API that can be used to create applications to help people control their expenses. Since it is a Web based API, it can be used to implement applications that can run from a Web browser, a mobile application or even a desktop application.

Manuel Lemos
Picture of Paulo Henrique
Name: Paulo Henrique is available for providing paid consulting. Contact Paulo Henrique .
Classes: 5 packages by
Country: Brazil Brazil
Age: 40
All time rank: 3745299 in Brazil Brazil
Week rank: 170 Up12 in Brazil Brazil Up
Innovation award
Innovation award
Nominee: 4x

Documentation

Personal Financial Control App

A simple API to control our expenses

Requirements

You must have installed Git, Docker, Docker-compose and Make before proceeding.

These ports must be available: - 8888 (api)

Installing

After cloning the repository you must run:

make up

The whole process can take a while, it depends on your computer.

After finish, just access the url, to register a user and start using:

`` http://localhost:8888/register ``

Note.: This installation must be done only once.

Routes

Open Routes

POST - http://localhost:8888/authenticate-demo  -> generate a demo user, does not need data.
POST - http://localhost:8888/register -> register a user.
POST - http://localhost:8888/authenticate -> need a valid user.

Private Routes

GET - http://localhost:8888/api/v1/users/me  -> show profile from user
PUT - http://localhost:8888/api/v1/users
PUT - http://localhost:8888/api/v1/users/my-status-to/{status}

POST - http://localhost:8888/api/v1/places
GET - http://localhost:8888/api/v1/places/{uuid}
GET - http://localhost:8888/api/v1/places
PUT - http://localhost:8888/api/v1/places/{uuid}
PUT - http://localhost:8888/api/v1/places/{uuid}/default
PUT - http://localhost:8888/api/v1/places/{uuid}/status/{status}
DELETE - http://localhost:8888/api/v1/places/{uuid}

POST - http://localhost:8888/api/v1/earns
GET - http://localhost:8888/api/v1/earns/{uuid}
PUT - http://localhost:8888/api/v1/earns/{uuid}/confirm
PUT - http://localhost:8888/api/v1/earns/{uuid}
GET - http://localhost:8888/api/v1/earns
DELETE - http://localhost:8888/api/v1/earns/{uuid}

POST - http://localhost:8888/api/v1/categories
GET - http://localhost:8888/api/v1/categories/{uuid}
PUT - http://localhost:8888/api/v1/categories/{uuid}
GET - http://localhost:8888/api/v1/categories
PUT - http://localhost:8888/api/v1/categories/{uuid}/default
PUT - http://localhost:8888/api/v1/categories/{uuid}/status/{status}
DELETE - http://localhost:8888/api/v1/categories/{uuid}

POST - http://localhost:8888/api/v1/credit-cards
GET - http://localhost:8888/api/v1/credit-cards/{uuid}
PUT - http://localhost:8888/api/v1/credit-cards/{uuid}
GET - http://localhost:8888/api/v1/credit-cards
PUT - http://localhost:8888/api/v1/credit-cards/{uuid}/default
PUT - http://localhost:8888/api/v1/credit-cards/{uuid}/status/{status}
DELETE - http://localhost:8888/api/v1/credit-cards/{uuid}

POST - http://localhost:8888/api/v1/expenses
GET - http://localhost:8888/api/v1/expenses/{uuid}
PUT - http://localhost:8888/api/v1/expenses/{uuid}
GET - http://localhost:8888/api/v1/expenses
PUT - http://localhost:8888/api/v1/expenses/paid/{uuid}
DELETE - http://localhost:8888/api/v1/expenses/{uuid}

  Files folder image Files (205)  
File Role Description
Files folder image.serverless (3 files)
Files folder imagebin (2 files)
Files folder imageconfig (4 files, 2 directories)
Files folder imagephpdocker (2 directories)
Files folder imagepublic (1 file)
Files folder imagesrc (1 file, 10 directories)
Files folder imagetemplates (1 file)
Files folder imagetests (2 files, 4 directories)
Accessible without login Plain text file .env.dist Data Auxiliary data
Accessible without login Plain text file .env.test Data Auxiliary data
Accessible without login Plain text file .stack-symfony.yaml Data Auxiliary data
Accessible without login Plain text file .stack.yaml Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file composer.lock Data Auxiliary data
Accessible without login Plain text file docker-compose.yml Data Auxiliary data
Accessible without login Plain text file index.php Aux. Auxiliary script
Accessible without login Plain text file Makefile Data Auxiliary data
Accessible without login Plain text file package-lock.json Data Auxiliary data
Accessible without login Plain text file phpunit.sh Data Auxiliary data
Accessible without login Plain text file phpunit.xml.dist Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login Plain text file serverless.yml Data Auxiliary data
Accessible without login Plain text file template.yml Data Auxiliary data

  Files folder image Files (205)  /  .serverless  
File Role Description
  Accessible without login Plain text file cloudformation-tem...e-create-stack.json Data Auxiliary data
  Accessible without login Plain text file cloudformation-tem...e-update-stack.json Data Auxiliary data
  Accessible without login Plain text file serverless-state.json Data Auxiliary data

  Files folder image Files (205)  /  bin  
File Role Description
  Plain text file console Class Class source
  Accessible without login Plain text file phpunit Data Auxiliary data

  Files folder image Files (205)  /  config  
File Role Description
Files folder imagepackages (11 files, 2 directories)
Files folder imageroutes (1 file, 1 directory)
  Plain text file bootstrap.php Class Class source
  Plain text file bundles.php Class Class source
  Accessible without login Plain text file routes.yaml Data Auxiliary data
  Accessible without login Plain text file services.yaml Data Auxiliary data

  Files folder image Files (205)  /  config  /  packages  
File Role Description
Files folder imageprod (2 files)
Files folder imagetest (4 files)
  Accessible without login Plain text file cache.yaml Data Auxiliary data
  Accessible without login Plain text file doctrine.yaml Data Auxiliary data
  Accessible without login Plain text file doctrine_migrations.yaml Data Auxiliary data
  Accessible without login Plain text file framework.yaml Data Auxiliary data
  Accessible without login Plain text file knpu_oauth2_client.yaml Data Auxiliary data
  Accessible without login Plain text file nelmio_cors.yaml Data Auxiliary data
  Accessible without login Plain text file ramsey_uuid_doctrine.yaml Data Auxiliary data
  Accessible without login Plain text file routing.yaml Data Auxiliary data
  Accessible without login Plain text file security.yaml Data Auxiliary data
  Accessible without login Plain text file sensio_framework_extra.yaml Data Auxiliary data
  Accessible without login Plain text file validator.yaml Data Auxiliary data

  Files folder image Files (205)  /  config  /  packages  /  prod  
File Role Description
  Accessible without login Plain text file doctrine.yaml Data Auxiliary data
  Accessible without login Plain text file routing.yaml Data Auxiliary data

  Files folder image Files (205)  /  config  /  packages  /  test  
File Role Description
  Accessible without login Plain text file dama_doctrine_test_bundle.yaml Data Auxiliary data
  Accessible without login Plain text file framework.yaml Data Auxiliary data
  Accessible without login Plain text file twig.yaml Data Auxiliary data
  Accessible without login Plain text file validator.yaml Data Auxiliary data

  Files folder image Files (205)  /  config  /  routes  
File Role Description
Files folder imagedev (1 file)
  Accessible without login Plain text file annotations.yaml Data Auxiliary data

  Files folder image Files (205)  /  config  /  routes  /  dev  
File Role Description
  Accessible without login Plain text file framework.yaml Data Auxiliary data

  Files folder image Files (205)  /  phpdocker  
File Role Description
Files folder imagenginx (2 files)
Files folder imagephp-fpm (2 files)

  Files folder image Files (205)  /  phpdocker  /  nginx  
File Role Description
  Accessible without login Plain text file Dockerfile Data Auxiliary data
  Accessible without login Plain text file nginx.conf Data Auxiliary data

  Files folder image Files (205)  /  phpdocker  /  php-fpm  
File Role Description
  Accessible without login Plain text file Dockerfile Data Auxiliary data
  Accessible without login Plain text file php-ini-overrides.ini Data Auxiliary data

  Files folder image Files (205)  /  public  
File Role Description
  Accessible without login Plain text file index.php Example Example script

  Files folder image Files (205)  /  src  
File Role Description
Files folder imageController (9 files)
Files folder imageDataFixtures (2 files)
Files folder imageEntity (8 files, 2 directories)
Files folder imageEventListener (1 file)
Files folder imageEventSubscriber (1 file)
Files folder imageMigrations (25 files)
Files folder imageRepository (8 files, 1 directory)
Files folder imageSecurity (3 files)
Files folder imageServices (5 directories)
Files folder imageUtils (4 directories)
  Plain text file Kernel.php Class Class source

  Files folder image Files (205)  /  src  /  Controller  
File Role Description
  Plain text file APIController.php Class Class source
  Plain text file CategoryController.php Class Class source
  Plain text file CreditCardController.php Class Class source
  Plain text file EarnController.php Class Class source
  Plain text file ExpenseController.php Class Class source
  Plain text file GoogleController.php Class Class source
  Plain text file PlaceController.php Class Class source
  Plain text file RegisterController.php Class Class source
  Plain text file UserController.php Class Class source

  Files folder image Files (205)  /  src  /  DataFixtures  
File Role Description
  Plain text file AppFixtures.php Class Class source
  Plain text file UserFixture.php Class Class source

  Files folder image Files (205)  /  src  /  Entity  
File Role Description
Files folder imageInterfaces (12 files)
Files folder imageTraits (4 files)
  Plain text file ApiToken.php Class Class source
  Plain text file Category.php Class Class source
  Plain text file CreditCard.php Class Class source
  Plain text file Earn.php Class Class source
  Plain text file Expense.php Class Class source
  Plain text file ModelBase.php Class Class source
  Plain text file Place.php Class Class source
  Plain text file User.php Class Class source

  Files folder image Files (205)  /  src  /  Entity  /  Interfaces  
File Role Description
  Plain text file ApiTokenInterface.php Class Class source
  Plain text file CategoryInterface.php Class Class source
  Plain text file CreditCardInterface.php Class Class source
  Plain text file EarnInterface.php Class Class source
  Plain text file ExpenseInterface.php Class Class source
  Plain text file ModelInterface.php Class Class source
  Plain text file PlaceInterface.php Class Class source
  Plain text file ReadUserOutsideInterface.php Class Class source
  Plain text file SearchDataInterface.php Class Class source
  Plain text file SearchInterface.php Class Class source
  Plain text file SimpleTimeInterface.php Class Class source
  Plain text file UsuarioInterface.php Class Class source

  Files folder image Files (205)  /  src  /  Entity  /  Traits  
File Role Description
  Plain text file ControlStatusAndIsDefault.php Class Class source
  Plain text file ParamControl.php Class Class source
  Plain text file ReadUserData.php Class Class source
  Plain text file SimpleTime.php Class Class source

  Files folder image Files (205)  /  src  /  EventListener  
File Role Description
  Plain text file ExceptionListener.php Class Class source

  Files folder image Files (205)  /  src  /  EventSubscriber  
File Role Description
  Plain text file BeforeActionSubscriber.php Class Class source

  Files folder image Files (205)  /  src  /  Migrations  
File Role Description
  Plain text file Version20191109133802.php Class Class source
  Plain text file Version20191209133...uid_by_postgres.php Class Class source
  Plain text file Version20191222142...pi_tokens_table.php Class Class source
  Plain text file Version20191222212...ted_at_to_users.php Class Class source
  Plain text file Version20191222213...eleted_at_users.php Class Class source
  Plain text file Version20191225130...column_to_users.php Class Class source
  Plain text file Version20191227202...places_to_table.php Class Class source
  Plain text file Version20191228200..._to_place_table.php Class Class source
  Plain text file Version20191229195...pi_tokens_table.php Class Class source
  Plain text file Version20191230010..._delete_cascade.php Class Class source
  Plain text file Version20191230011...ces_users_table.php Class Class source
  Plain text file Version20191230215...edit_card_table.php Class Class source
  Plain text file Version20200104213..._expenses_table.php Class Class source
  Plain text file Version20200104221..._category_table.php Class Class source
  Plain text file Version20200104225...nd_places_table.php Class Class source
  Plain text file Version20200105002..._to_users_table.php Class Class source
  Plain text file Version20200111115...api_token_table.php Class Class source
  Plain text file Version20200111203...stallment_group.php Class Class source
  Plain text file Version20200112012..._expenses_table.php Class Class source
  Plain text file Version20200114014...to_places_table.php Class Class source
  Plain text file Version20200125101...ategories_table.php Class Class source
  Plain text file Version20200129004..._to_remove_user.php Class Class source
  Plain text file Version20200209223..._expenses_table.php Class Class source
  Plain text file Version20200224223..._expenses_table.php Class Class source
  Plain text file Version20200225112...om_places_table.php Class Class source

  Files folder image Files (205)  /  src  /  Repository  
File Role Description
Files folder imageInterfaces (8 files)
  Plain text file ApiTokenRepository.php Class Class source
  Plain text file BaseRepository.php Class Class source
  Plain text file CategoryRepository.php Class Class source
  Plain text file CreditCardRepository.php Class Class source
  Plain text file EarnRepository.php Class Class source
  Plain text file ExpenseRepository.php Class Class source
  Plain text file PlaceRepository.php Class Class source
  Plain text file UserRepository.php Class Class source

  Files folder image Files (205)  /  src  /  Repository  /  Interfaces  
File Role Description
  Plain text file ApiTokenRepositoryInterface.php Class Class source
  Plain text file BaseRepositoryInterface.php Class Class source
  Plain text file CategoryRepositoryInterface.php Class Class source
  Plain text file CreditCardRepositoryInterface.php Class Class source
  Plain text file EarnRepositoryInterface.php Class Class source
  Plain text file ExpenseRepositoryInterface.php Class Class source
  Plain text file PlaceRepositoryInterface.php Class Class source
  Plain text file UserRepositoryInterface.php Class Class source

  Files folder image Files (205)  /  src  /  Security  
File Role Description
  Plain text file GoogleAuthenticator.php Class Class source
  Plain text file TokenAuthenticator.php Class Class source
  Plain text file UserProvider.php Class Class source

  Files folder image Files (205)  /  src  /  Services  
File Role Description
Files folder imageEntity (7 files, 1 directory)
Files folder imageExternal (2 directories)
Files folder imageLog (1 file, 1 directory)
Files folder imageLogin (2 files)
Files folder imageValidation (2 files)

  Files folder image Files (205)  /  src  /  Services  /  Entity  
File Role Description
Files folder imageInterfaces (7 files)
  Plain text file ApiTokenService.php Class Class source
  Plain text file CategoryService.php Class Class source
  Plain text file CreditCardService.php Class Class source
  Plain text file EarnService.php Class Class source
  Plain text file ExpenseService.php Class Class source
  Plain text file PlaceService.php Class Class source
  Plain text file UserService.php Class Class source

  Files folder image Files (205)  /  src  /  Services  /  Entity  /  Interfaces  
File Role Description
  Plain text file ApiTokenServiceInterface.php Class Class source
  Plain text file CategoryServiceInterface.php Class Class source
  Plain text file CreditCardServiceInterface.php Class Class source
  Plain text file EarnServiceInterface.php Class Class source
  Plain text file ExpenseServiceInterface.php Class Class source
  Plain text file PlaceServiceInterface.php Class Class source
  Plain text file UserServiceInterface.php Class Class source

  Files folder image Files (205)  /  src  /  Services  /  External  
File Role Description
Files folder imageGoogle (2 files)
Files folder imageSlack (4 files)

  Files folder image Files (205)  /  src  /  Services  /  External  /  Google  
File Role Description
  Plain text file GoogleAuthenticateService.php Class Class source
  Plain text file GoogleCheckServiceInterface.php Class Class source

  Files folder image Files (205)  /  src  /  Services  /  External  /  Slack  
File Role Description
  Plain text file SlackApproval.php Class Class source
  Plain text file SlackService.php Class Class source
  Plain text file SlackServiceInterface.php Class Class source
  Plain text file SlackTemplateInterface.php Class Class source

  Files folder image Files (205)  /  src  /  Services  /  Log  
File Role Description
Files folder imageInterfaces (1 file)
  Plain text file LoggerService.php Class Class source

  Files folder image Files (205)  /  src  /  Services  /  Log  /  Interfaces  
File Role Description
  Plain text file LoggerServiceInterface.php Class Class source

  Files folder image Files (205)  /  src  /  Services  /  Login  
File Role Description
  Plain text file LoginService.php Class Class source
  Plain text file LoginServiceInterface.php Class Class source

  Files folder image Files (205)  /  src  /  Services  /  Validation  
File Role Description
  Plain text file ValidateModelInterface.php Class Class source
  Plain text file ValidationService.php Class Class source

  Files folder image Files (205)  /  src  /  Utils  
File Role Description
Files folder imageDatetime (1 file, 1 directory)
Files folder imageEnums (1 file)
Files folder imageGenerators (4 files)
Files folder imageHandleErrors (1 file)

  Files folder image Files (205)  /  src  /  Utils  /  Datetime  
File Role Description
Files folder imageInterfaces (1 file)
  Plain text file DatetimeCheckService.php Class Class source

  Files folder image Files (205)  /  src  /  Utils  /  Datetime  /  Interfaces  
File Role Description
  Plain text file DatetimeCheckServiceInterface.php Class Class source

  Files folder image Files (205)  /  src  /  Utils  /  Enums  
File Role Description
  Plain text file GeneralTypes.php Class Class source

  Files folder image Files (205)  /  src  /  Utils  /  Generators  
File Role Description
  Plain text file Bin2HexGenerate.php Class Class source
  Plain text file GenerateDataToSaveInterface.php Class Class source
  Plain text file GenerateUserDemo.php Class Class source
  Plain text file TokenGeneratorInterface.php Class Class source

  Files folder image Files (205)  /  src  /  Utils  /  HandleErrors  
File Role Description
  Plain text file ErrorMessage.php Class Class source

  Files folder image Files (205)  /  templates  
File Role Description
  Accessible without login Plain text file base.html.twig Data Auxiliary data

  Files folder image Files (205)  /  tests  
File Role Description
Files folder imageController (7 files)
Files folder imageEntity (11 files, 1 directory)
Files folder imageServices (3 directories)
Files folder imageUtils (4 directories)
  Plain text file Authenticate.php Class Class source
  Plain text file bootstrap.php Class Class source

  Files folder image Files (205)  /  tests  /  Controller  
File Role Description
  Plain text file CategoryControllerTest.php Class Class source
  Plain text file CreditCardControllerTest.php Class Class source
  Plain text file EarnControllerTest.php Class Class source
  Plain text file ExpenseControllerTest.php Class Class source
  Plain text file PlaceControllerTest.php Class Class source
  Plain text file RegisterControllerTest.php Class Class source
  Plain text file UserControllerTest.php Class Class source

  Files folder image Files (205)  /  tests  /  Entity  
File Role Description
Files folder imageTraits (1 file)
  Plain text file ApiTokenTest.php Class Class source
  Plain text file CategoryTest.php Class Class source
  Plain text file CreditCardTest.php Class Class source
  Plain text file EarnTest.php Class Class source
  Plain text file ExpenseTest.php Class Class source
  Plain text file PlaceTest.php Class Class source
  Plain text file RegisterCategory.php Class Class source
  Plain text file RegisterCreditCard.php Class Class source
  Plain text file RegisterEarn.php Class Class source
  Plain text file RegisterExpense.php Class Class source
  Plain text file UserTest.php Class Class source

  Files folder image Files (205)  /  tests  /  Entity  /  Traits  
File Role Description
  Plain text file SimpleTimeTest.php Class Class source

  Files folder image Files (205)  /  tests  /  Services  
File Role Description
Files folder imageEntity (10 files)
Files folder imageLogin (2 files)
Files folder imageValidation (2 files)

  Files folder image Files (205)  /  tests  /  Services  /  Entity  
File Role Description
  Plain text file CategoryServiceTest.php Class Class source
  Plain text file CreditCardServiceTest.php Class Class source
  Plain text file EarnServiceTest.php Class Class source
  Plain text file LoadCategoryService.php Class Class source
  Plain text file LoadCreditCardService.php Class Class source
  Plain text file LoadEarnService.php Class Class source
  Plain text file LoadPlaceService.php Class Class source
  Plain text file LoadUserService.php Class Class source
  Plain text file PlaceServiceTest.php Class Class source
  Plain text file UserServiceTest.php Class Class source

  Files folder image Files (205)  /  tests  /  Services  /  Login  
File Role Description
  Plain text file LoadLoginService.php Class Class source
  Plain text file LoginServiceTest.php Class Class source

  Files folder image Files (205)  /  tests  /  Services  /  Validation  
File Role Description
  Plain text file LoadValidationService.php Class Class source
  Plain text file ValidationServiceTest.php Class Class source

  Files folder image Files (205)  /  tests  /  Utils  
File Role Description
Files folder imageDatetime (1 file)
Files folder imageEnums (1 file)
Files folder imageGenerators (2 files)
Files folder imageHandleErrors (1 file)

  Files folder image Files (205)  /  tests  /  Utils  /  Datetime  
File Role Description
  Plain text file DatetimeCheckServiceTest.php Class Class source

  Files folder image Files (205)  /  tests  /  Utils  /  Enums  
File Role Description
  Plain text file GeneralTypesTest.php Class Class source

  Files folder image Files (205)  /  tests  /  Utils  /  Generators  
File Role Description
  Plain text file Bin2HexGenerateTest.php Class Class source
  Plain text file GenerateUserDemoTest.php Class Class source

  Files folder image Files (205)  /  tests  /  Utils  /  HandleErrors  
File Role Description
  Plain text file ErrorMessageTest.php Class Class source

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:140
This week:0
All time:9,211
This week:560Up