assasz / gorynych-skeleton
Gorynych skeleton API.
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 1
Type:project
Requires
- php: ^7.4
- ext-json: *
- assasz/gorynych: @dev
- doctrine/orm: ^2.6
Requires (Dev)
- justinrainbow/json-schema: ^5.2
- nelmio/alice: ^3.6
- phpstan/phpstan: ^0.12.32
- phpunit/phpunit: ^9
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2025-02-24 02:08:42 UTC
README
Skeleton API powered by Gorynych and Doctrine ORM.
Installation
Via Composer:
composer create-project assasz/gorynych-skeleton
Set up the database:
# .env
DATABASE_URL='mysql://user:secret@localhost/mydb'
# creates database schema
./vendor/bin/doctrine orm:schema-tool:create
# loads fixtures for dev environment
php bin/console gorynych:load-fixtures --env=dev
Set up test environment:
# .env.test
DATABASE_URL='sqlite://${PROJECT_DIR}/var/sqlite/db_test.sqlite'
BASE_URI='http://localhost'
API Generator
Gorynych ships simple, yet powerful API generator for your application resources:
php bin/console gorynych:generate-api [resourceNamespace]
With this command, Gorynych will generate for you:
Get
,Remove
,Replace
operations for all item resourcesGet
,Insert
operations for all collection resources- API functional test cases for above
operations:
App\Tests\Functional\Api
- test fixtures:
config/fixtures
- Open API 3 documentation:
openapi/openapi.yaml
Quick demo
rm -rf src/Ports/Operation/* && rm -rf tests/Functional/Api
php bin/console gorynych:generate-api App\Application\Resource
./vendor/bin/phpunit
Notices
- Domain entities must be located under
src/Domain/Entity
path. openapi/openapi.yaml
file will always be overwritten, so don't modify this file directly - use annotations and following command to keep documentation always up to date:
php bin/console gorynych:update-api-docs