├── .env.example ├── .github └── workflows │ └── tests.yml ├── .gitignore ├── LICENSE.md ├── Makefile ├── README.md ├── Vagrantfile ├── app.php ├── codecov.yml ├── composer.json ├── config ├── dependencies.php ├── handlers.php └── middleware.php ├── db ├── migrations │ └── 20180107015715_todo.php └── seeds │ └── TodoSeeder.php ├── logs └── .gitignore ├── phinx.yml ├── phpunit.xml.dist ├── public ├── .htaccess └── index.php ├── routes ├── todos.php └── token.php ├── src ├── Application │ ├── Response │ │ ├── ForbiddenResponse.php │ │ ├── NotFoundResponse.php │ │ ├── PreconditionFailedResponse.php │ │ ├── PreconditionRequiredResponse.php │ │ └── UnauthorizedResponse.php │ └── Todo │ │ ├── CreateTodoCommand.php │ │ ├── CreateTodoHandler.php │ │ ├── DeleteTodoCommand.php │ │ ├── DeleteTodoHandler.php │ │ ├── LatestTodoHandler.php │ │ ├── LatestTodoQuery.php │ │ ├── ReadTodoCollectionHandler.php │ │ ├── ReadTodoCollectionQuery.php │ │ ├── ReadTodoHandler.php │ │ ├── ReadTodoQuery.php │ │ ├── ReplaceTodoCommand.php │ │ ├── ReplaceTodoHandler.php │ │ ├── TodoHydratorFactory.php │ │ ├── TodoNotFoundException.php │ │ ├── TodoTransformer.php │ │ ├── TransformTodoCollectionService.php │ │ ├── TransformTodoService.php │ │ ├── UpdateTodoCommand.php │ │ └── UpdateTodoHandler.php ├── Domain │ ├── Todo.php │ ├── TodoRepository.php │ ├── TodoUid.php │ └── Token.php └── Infrastructure │ ├── MemoryTodoRepository.php │ ├── Slim │ └── Handler │ │ ├── ApiErrorHandler.php │ │ ├── NotAllowedHandler.php │ │ └── NotFoundHandler.php │ └── ZendTodoRepository.php ├── support └── todos.paw └── tests ├── Application ├── Response │ ├── ForbiddenResponseTest.php │ ├── NotFoundResponseTest.php │ ├── PreconditionFailedResponseTest.php │ ├── PreconditionRequiredResponseTest.php │ └── UnauthorizedResponseTest.php └── Todo │ ├── CreateTodoHandlerTest.php │ ├── DeleteTodoHandlerTest.php │ ├── LatestTodoHandlerTest.php │ ├── ReadTodoCollectionHandlerTest.php │ ├── ReadTodoHandlerTest.php │ ├── ReplaceTodoHandlerTest.php │ ├── TodoTest.php │ ├── TransforTodoCollectionServiceTest.php │ ├── TransformTodoServiceTest.php │ └── UpdateTodoHandlerTest.php ├── Domain ├── TodoTest.php ├── TodoUidTest.php └── TokenTest.php └── Infrastructure ├── MemoryTodoRepositoryTest.php ├── Slim └── Handler │ ├── ApiErrorHandlerTest.php │ ├── NotAllowedHandlerTest.php │ └── NotFoundHandlerTest.php └── ZendTodoRepositoryTest.php /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/.env.example -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/LICENSE.md -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/README.md -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/Vagrantfile -------------------------------------------------------------------------------- /app.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/app.php -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | comment: false -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/composer.json -------------------------------------------------------------------------------- /config/dependencies.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/config/dependencies.php -------------------------------------------------------------------------------- /config/handlers.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/config/handlers.php -------------------------------------------------------------------------------- /config/middleware.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/config/middleware.php -------------------------------------------------------------------------------- /db/migrations/20180107015715_todo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/db/migrations/20180107015715_todo.php -------------------------------------------------------------------------------- /db/seeds/TodoSeeder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/db/seeds/TodoSeeder.php -------------------------------------------------------------------------------- /logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /phinx.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/phinx.yml -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/phpunit.xml.dist -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuupola/slim-api-skeleton/HEAD/public/.htaccess -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 |