Hire

.lt

Tiklso link

Convert PHP Phalcon app to Symfony App (small micro-service) - Upwork

Būsena UŽDARYTA
Biudžetas 501-1000 Eur
Sukurta: 2019-01-18
Baigiasi: 2019-01-25
Siūlo: Nėra
Apibūdinimas: I've got an existing Phalcon PHP app which a couple of other sites use to find info on cities (eg. for auto-completion, checking if it's valid, etc).


I'd like to convert this to use Symfony (latest version) instead.


The app consists of 7 HTTP endpoints which sites call to request data, and return JSON. The 7 endpoints are reasonably similar, some differing only by the request-parameters specified.


The JSON returned is required to be in the same format as the existing app returns (so the various other sites don't have to be updated).


The 'Access-Control-Allow-Origin' headers should be set for HTTP requests (currently using '*'), as well as 'Access-Control-Allow-Headers'.


There's also a couple of commands (CLI) implemented to;

* download postcode data from an external website (currently only implemented for Australia) (in JSON format)

* list cities (by city name or state or country -- all of these are optional)

* list state by country


The code for importing data isn't great, and will need to be re-implemented (theres a JSON which just needs to be downloaded and imported, with non-geocoded entries getting sent to geocoding service via a HTTP request (use Guzzle).

The Symfony validator component should be used to ensure entries are valid (some existing validation code exists (check for uniqueness), and some basic annotations for validation should be added (NotBlank, numeric values, range-check on location-coordinates, etc), prior to getting geocoded & saved to the db.

Entries getting imported should be checked if they already exist in the DB before getting added in so as to not duplicate entries, nor have any geocoded when it wasn't needed.


There are 2 models for stored data (1 for cities, 1 for states). Data is only changed via the CLI import, and otherwise only read via CLI or HTTP requests.


There's only one country (Australia) currently getting imported, but the services (DI) should be setup so others can later be added on.


SQL queries (for querying data) will need to be transposed into doctrine repositories (doctrine to be used as the ORM).


Code output should be tidy, with some basic docs added (eg. to method headers) so it's usable to other coders.

PHP 7.2 is in use, so type-hinting in method parameters and method-return variables would be good to see.

Code is on bitbucket.


Bonus points if you manage to clean up the code a little, or have suggestions to make it better for the future.

Budget: $175

Posted On: January 18, 2019 05:00 UTC
Category: Web, Mobile & Software Dev > Web Development

Skills: PHP, Website Development
Country: Australia
click to apply

Darbo Tipas(ai):
  • PHP
  • CSS
Duomenų Bazė:
Operacinė Sistema: Linux
Siūlymų Skaičius: 0
Siūlosi Žinutės Kaina Trukmė Įvertinimas Informacija