Smartphones + REST API + Symfony 4 + PHPUnit + CQRS + Docker in action
To set up application exec the following commands:
composer install
docker-compose build
docker-compose up -d
The website is running under 8080 port.
If you don't have docker yet: https://docs.docker.com/install/
Tests
To run tests execute following command:
php bin/phpspec run
TODO
- Have a cup of coffee!
- Write a short documentation about the REST API.
- Refactor specification constants for God's sake!
- Refactor API's handling of errors
- Move deleting of smartphone logic out of the API Controller.
API
v1
Entry point: /api/v1/
Smartphones resource:
METHOD | URI | RESULTS | HTTP_STATUS | CONTENT (JSON) |
---|---|---|---|---|
GET | /smartphones/ | Gets all smartphones | 200|400|500 | NONE |
GET | /smartphones/:id | Gets smartphone by id | 200|400|500 | NONE |
POST | /smartphones/ | Creates new smartphone | 200|400|500 | valid uuid string, array specification[string company, string model], string releaseDate (day-month-year) |
PUT | /smartphones/:id | Updates smartphone by id | 200|400|500 | array specification[string company, string model], string releaseDate (day-month-year) |
DELETE | /smartphones/:id | Deletes smartphone by id | 200|400|500 | NONE |