Git Product home page Git Product logo

api-platform's Introduction

Dunglas's API platform

Welcome to Dunglas's API platform - a fully-functional Symfony2 application that you can use as the skeleton to build a hypermedia and auto-discoverable REST API relying on internet standards.

It provides JSON-LD and Hydra support out of the box.

Install

Use Composer to create your new project:

composer create-project dunglas/api-platform my-api

Start to hack

A default application representing a bookstore is installed by default.

Run bin/console server:start and open http://localhost:8000 in any HTTP client to play it. Give a try to HydraConsole to leverage JSON-LD and Hydra features.

What's inside?

Dunglas's API platform provides rock solid fundations to build your API:

  • The full power of the Symfony framework and its ecosystem;

  • Doctrine ORM/DBAL;

  • PHP Schema to generate Doctrine entities (with Symfony validation and extended PHPDoc) from [Schema.org][8] types.

  • DunglasJsonLdApiBundle to expose in minutes your entities as a JSON-LD and Hydra enabled hypermedia REST API.

  • Behat and Behatch configured to easily test the API.

  • An AppBundle you can use to start coding;

  • Annotations enabled for everything;

  • Swiftmailer and Twig to create beautiful emails;

It comes pre-configured with the following bundles:

  • Symfony - Dunglas's API platform is built on top of the full-stack Symfony framework

  • DunglasJsonLdApiBundle - Creates powerful Hypermedia APIs supporting JSON-LD and Hydra

  • NelmioCorsBundle - Support for CORS headers

  • FosHttpCacheBundle - Add powerful caching capacities, supports Varnish, Nginx a built-in PHP reverse proxy

  • SensioFrameworkExtraBundle - Adds several enhancements, including template and routing annotation capability

  • DoctrineBundle - Adds support for the Doctrine ORM

  • TwigBundle - Adds support for the Twig templating engine

  • SecurityBundle - Adds security by integrating Symfony's security component

  • SwiftmailerBundle - Adds support for Swiftmailer, a library for sending emails

  • MonologBundle - Adds support for Monolog, a logging library

  • WebProfilerBundle (in dev/test env) - Adds profiling functionality and the web debug toolbar

  • SensioDistributionBundle (in dev/test env) - Adds functionality for configuring and working with Symfony distributions

  • SensioGeneratorBundle (in dev/test env) - Adds code generation capabilities

All libraries and bundles included in Dunglas's API platform are released under the MIT or BSD license.

Authentication support

Json Web Token is a lightweight and popular way to handle authentication in a stateless way. Install LexikJWTAuthenticationBundle to adds JWT support to Dunglas's API platform.

Oauth support can also be easily added using FOSOAuthServerBundle.

Enjoy!

Credits

Built by Kévin Dunglas.

api-platform's People

Contributors

ajessu avatar amadi avatar arjona avatar bamarni avatar brikou avatar cordoval avatar craue avatar fabpot avatar gajdaw avatar havvg avatar hollodk avatar igorw avatar jalliot avatar jdespatis avatar jmfontaine avatar kriswallsmith avatar lsmith77 avatar meonkeys avatar mridgway avatar phreaknerd avatar romainneutron avatar schmittjoh avatar seldaek avatar snc avatar stealth35 avatar stof avatar tobion avatar trompette avatar vicb avatar weaverryan avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.