PHP Classes

PHP Budget Application API: API to manage records of budget requests

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: 94 All time: 9,889 This week: 524Up
Version License PHP version Categories
budget-request 1.0.0Custom (specified...7Content management, Web services, Fin..., P...
Description 

Author

This package implements an API to manage records of budget requests.

It can handle several types of REST API requests for performing different types of actions to manage the database records of the application of a budget request. Currently it can:

- Get all budget proposals for a given email address
- Submit a new budget proposal with all the details of the proposal like the name of the proposal title, description, category, recipient name and email address, phone number and address
- Update the details of a proposal
- Publish a proposal
- Discart a proposal

Innovation Award
PHP Programming Innovation award nominee
December 2019
Number 10
Many professionals need to make proposals for budgets to present to their customers.

This package implements an API that can manage the information of budget proposals, so applications can be built around this API to help professionals to use Web or mobile applications that can do the budget proposal management part of their work.

Manuel Lemos
Picture of Manolo Salsas
  Performance   Level  
Name: Manolo Salsas <contact>
Classes: 9 packages by
Country: Spain Spain
Age: 43
All time rank: 306478 in Spain Spain
Week rank: 131 Up8 in Spain Spain Up
Innovation award
Innovation award
Nominee: 6x

Winner: 1x

Documentation

Budget request REST API Build Status

Budget request is a REST API made with Symfony.

Documentation

GET /budget
example: GET /budget?email=johnDoe@email.com&offset=20&limit=50
Description: Get all budgets paginated (optionally by email)

POST /budget
parameters: json => {title, description, category, email, telephone, address}
example: POST /budget
Description: Create a budget

PUT /budget/{id}
parameters: json => {title, description, category}
example: PUT /budget/32
Description: Update a budget

PUT /budget/publish/{id}
example: PUT /budget/publish/32
Description: Publish a budget

PUT /budget/discard/{id}
example: PUT /budget/publish/32
Description: Discards a budget

Installation

git clone https://github.com/msalsas/budget-request.git

cd budget-request

cp .env .env.local

Set DATABASE_URL variable in .env.local to your needs (db_user and db_password, as well as db_name)

composer install

php bin/console doctrine:database:create

php bin/console doctrine:database:create --env=test

php bin/console doctrine:migrations:migrate

php bin/console doctrine:migrations:migrate --env=test

symfony server:start 

you will need:

- The Symfony installer

- php-sqlite3 as database for testing is sqlite by default

Testing

php ./bin/phpunit

License

This bundle is under the MIT license. See the complete license in the bundle

Reporting an issue or a feature request

Issues and feature requests are tracked in the Github issue tracker.


  Files folder image Files (55)  
File Role Description
Files folder imagebin (2 files)
Files folder imageconfig (4 files, 2 directories)
Files folder imagepublic (1 file)
Files folder imagesrc (1 file, 10 directories)
Files folder imagetests (2 directories)
Accessible without login Plain text file .env Data Auxiliary data
Accessible without login Plain text file .env.test Data Auxiliary data
Accessible without login Plain text file .travis.yml 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 LICENSE Lic. License text
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 symfony.lock Data Auxiliary data

  Files folder image Files (55)  /  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 (55)  /  config  
File Role Description
Files folder imagepackages (6 files, 3 directories)
Files folder imageroutes (1 file)
  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 (55)  /  config  /  packages  
File Role Description
Files folder imagedev (1 file)
Files folder imageprod (1 file)
Files folder imagetest (3 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 routing.yaml Data Auxiliary data
  Accessible without login Plain text file validator.yaml Data Auxiliary data

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

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

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

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

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

  Files folder image Files (55)  /  src  
File Role Description
Files folder imageController (1 file)
Files folder imageDataFixtures (1 file)
Files folder imageDTO (8 files)
Files folder imageEntity (2 directories)
Files folder imageEventListener (1 file)
Files folder imageHelper (2 files)
Files folder imageMigrations (1 file)
Files folder imageRepository (2 directories)
Files folder imageService (1 file)
Files folder imageValidator (1 file)
  Plain text file Kernel.php Class Class source

  Files folder image Files (55)  /  src  /  Controller  
File Role Description
  Plain text file BudgetController.php Class Class source

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

  Files folder image Files (55)  /  src  /  DTO  
File Role Description
  Plain text file BudgetRequestDTOInterface.php Class Class source
  Plain text file BudgetResponseDTOInterface.php Class Class source
  Plain text file CreateBudgetRequestDTO.php Class Class source
  Plain text file CreateBudgetRequestDTOInterface.php Class Class source
  Plain text file GetBudgetsRequestDTO.php Class Class source
  Plain text file GetBudgetsResponseDTO.php Class Class source
  Plain text file UpdateBudgetRequestDTO.php Class Class source
  Plain text file UpdateBudgetRequestDTOInterface.php Class Class source

  Files folder image Files (55)  /  src  /  Entity  
File Role Description
Files folder imageBudget (2 files)
Files folder imageUser (2 files)

  Files folder image Files (55)  /  src  /  Entity  /  Budget  
File Role Description
  Plain text file Budget.php Class Class source
  Plain text file BudgetInterface.php Class Class source

  Files folder image Files (55)  /  src  /  Entity  /  User  
File Role Description
  Plain text file User.php Class Class source
  Plain text file UserInterface.php Class Class source

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

  Files folder image Files (55)  /  src  /  Helper  
File Role Description
  Plain text file CategorySuggestionHelper.php Class Class source
  Plain text file EntityCreationHelper.php Class Class source

  Files folder image Files (55)  /  src  /  Migrations  
File Role Description
  Plain text file Version20190913173059.php Class Class source

  Files folder image Files (55)  /  src  /  Repository  
File Role Description
Files folder imageBudget (2 files)
Files folder imageUser (2 files)

  Files folder image Files (55)  /  src  /  Repository  /  Budget  
File Role Description
  Plain text file BudgetRepository.php Class Class source
  Plain text file BudgetRepositoryInterface.php Class Class source

  Files folder image Files (55)  /  src  /  Repository  /  User  
File Role Description
  Plain text file UserRepository.php Class Class source
  Plain text file UserRepositoryInterface.php Class Class source

  Files folder image Files (55)  /  src  /  Service  
File Role Description
  Plain text file BudgetService.php Class Class source

  Files folder image Files (55)  /  src  /  Validator  
File Role Description
  Plain text file Validator.php Class Class source

  Files folder image Files (55)  /  tests  
File Role Description
Files folder imageController (1 file)
Files folder imageService (1 file)

  Files folder image Files (55)  /  tests  /  Controller  
File Role Description
  Plain text file BudgetControllerTest.php Class Class source

  Files folder image Files (55)  /  tests  /  Service  
File Role Description
  Plain text file BudgetServiceTest.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:94
This week:0
All time:9,889
This week:524Up