2017 © Pedro Peláez
 

project sibers-api

The Sibers API framework

image

sibers/sibers-api

The Sibers API framework

  • Sunday, January 21, 2018
  • by sibers
  • Repository
  • 1 Watchers
  • 3 Stars
  • 7 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Sibers API, (*1)

Sibers API (based by API Platform) is a next-generation web framework designed to easily create API-first projects without compromising extensibility and flexibility:, (*2)

  • Design your own data model as plain old PHP classes or import an existing one from the Schema.org vocabulary
  • Expose in minutes a hypermedia REST API with pagination, data validation, access control, relation embedding, filters and error handling...
  • Benefit from Content Negotiation: JSON-LD, Hydra, HAL, YAML, JSON, XML and CSV are supported out of the box
  • Enjoy the beautiful automatically generated API documentation (Swagger/OpenAPI)
  • Add a convenient Material Design administration interface built with React without writing a line of code
  • Scaffold a fully functional Single-Page-Application built with React, Redux, React Router and Bootstrap thanks to the CRUD generator
  • Install a development environment and deploy your project in production using Docker
  • Easily add JSON Web Token or OAuth authentication
  • Create specs and tests with a developer friendly API testing tool on top of Behat

Sibers API embraces open web standards (Swagger, JSON-LD, Hydra, HAL, JWT, OAuth, HTTP...) and the Linked Data movement. Your API will automatically expose structured data in Schema.org/JSON-LD. It means that your API Platform application is usable out of the box with technologies of the semantic web., (*3)

It also means that your SEO will be improved because Google leverages these formats., (*4)

Last but not least, Sibers API is built on top of the Symfony framework. It means than you can:, (*5)

  • use thousands of Symfony bundles with API Platform
  • integrate API Platform in any existing Symfony application
  • reuse all your Symfony skills and benefit of the incredible amount of Symfony documentation
  • enjoy the popular Doctrine ORM (used by default, but fully optional: you can use the data provider you want, including but not limited to MongoDB ODM and ElasticSearch)

Install

Run composer require sibers/sibers-api-bundle. After installation required generation SSH keys., (*6)

$ mkdir -p var/jwt # For Symfony3+, no need of the -p option
$ openssl genrsa -out var/jwt/private.pem -aes256 4096
$ openssl rsa -pubout -in var/jwt/private.pem -out var/jwt/public.pem, (*7)

Configure your parameters.yml, (*8)

jwt_private_key_path: '%kernel.root_dir%/../var/jwt/private.pem' # ssh private key path
jwt_public_key_path: '%kernel.root_dir%/../var/jwt/public.pem' # ssh public key path
jwt_key_pass_phrase: '' # ssh key pass phrase
jwt_token_ttl: 3600, (*9)

Credits

Created by Alexander Gordeychik., (*10)

The Versions