Agents Contacts Matcher
Agents Contact Matcher is an app to match the nearest Agent to each contact provided by a CSV file. A short video of the demo can be found here
Transducers
Used to optimize the iterations of the CSV file, Transducers help to reduce memory consumption in PHP bucles. more info about this here
Guzzle
De facto standard to make http calls in PHP, in this case I used it to make GET calls to http://zipcodeapi.com/
THE PHP LEAGUE - CSV
To load the csv file in an easy way
TODOS
- Add Behat to make behavior-driven testing for future features.
- Add integration tests for reading the CSV file and for calling the zipcodeapi API.
- Improve UI by adding Bootstrap and AngularJS
- Better handling exceptions when calling the zipcodeapi API, for example what to do when the zip code doesn't exist because right now only the string "Error" is present when something weird happens in the call.
Important Folders & Files
- app/Calculators/
- app/Http/MainController.php
- app/Matchers/
- app/Readers/
- app/ValueObjects
- app/AgentsContactsMatchersTest.php