Repository for the Symfony version of restful service for Pouce d'Or Website : www.poucedor.fr
- Symfony 3.2
- Doctrine
- phpUnit
- FOSUserBundle
- FOSOauthServerBundle
- FOSRestBundle
- JMSSerializerBundle
- NelmioApiDocBundle
- BazingaGeocoderBundle
- Deal with email service not to be marked as spam: Integrate (https://sendgrid.com/docs/Integrate/Frameworks/symfony.html)
- Add security layer with user roles
- Google App Engine
- Refactor tests
- Add Facebook and Google OAuth2
phpunit have issues : Fixed it by installing phpunit through composer. Have to run it : "./vendor/bin/phpunit"
php -d memory_limit=-1 /usr/local/bin/composer update
All API calls are in the documentation : Api.html. Generated by NelmioApiDocBundle. Please re-generate the documentation to have an up-to-date one.
There is a city database with the most used cities (linked with a country table). Basic GET will search on that database.
If you need to add one, there is a location service which able to retrieve city information (latitude, longitude ...) by OpenStreetMap (Nominatim), Google Map ...
Service made with BazingaGeocoderBundle.
Distances are calculated with this project: https://github.com/Project-OSRM/osrm-backend/blob/master/docs/http.md#route-service
Only teams of 2 users. Front-end will let only 2 users from the same school to make a team but backend can handle 2 users from different school.
Documentation is made with NelmioApiDocBundle. We use '@ApiDoc' tag before each method to specify what to put in the API genrated documentation.
We used JMSSerializerBundle for serialization with groups annotations in models. In each entity, we specify which property belongs to what to ensure the serialization process (see JMSSerializerBundle documentation).
Made with FOSRestBundle.
Made with FOSUserBundle (Identification, SignUp, LogIn).
Made with FOSOauthServerBundle. We used OAuth2 authentication: password grant
Get vendors via composer ("composer update"). https://getcomposer.org/download/
Run Apache and mySQL with the test database. You can use MAMP (OSX) or WAMP (Windows).
Access with the following address: localhost:8888/web/app_dev.php/api/doc
Install phpUnit on your machine: https://phpunit.de/getting-started.html
WARNING : See Issues paragraph
Run tests with the command: phpUnit
Run "sh deploy.sh"
It's a personal project done after work hours for the Pouce d'Or contest.
This website have been created and is owned by Olivier NGUYEN QUOC.
**Copyright © 2014-2016 Olivier NGUYEN QUOC. All rights reserved.
No rights permission given including rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software without an authorization of the owner.**
All technologies used are under MIT license or BSD license.
A Symfony project created on September 19, 2016, 2:46 pm.