sibers/sibers-api

The Sibers API framework

This package is not auto-updated.

Last update: 2022-09-20 17:51:30 UTC


README

Sibers API

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

  • 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.

It also means that your SEO will be improved because Google leverages these formats.

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

  • 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.

$ 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

Configure your parameters.yml

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

Credits

Created by Alexander Gordeychik.