PHPackages                             alfonsomga/symfony.demo.on.roids - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. alfonsomga/symfony.demo.on.roids

AbandonedArchivedProject

alfonsomga/symfony.demo.on.roids
================================

The Symfony Demo Application On Roids

1184013[2 issues](https://github.com/alfonsomga/symfony.demo.on.roids/issues)PHP

Since Oct 20Pushed 9y ago8 watchersCompare

[ Source](https://github.com/alfonsomga/symfony.demo.on.roids)[ Packagist](https://packagist.org/packages/alfonsomga/symfony.demo.on.roids)[ RSS](/packages/alfonsomga-symfonydemoonroids/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

The Symfony Demo Application on Roids!
======================================

[](#the-symfony-demo-application-on-roids)

[![Build Status](https://camo.githubusercontent.com/d3015d4b0bffbf7c3db8940e104bf4fe7c863c3cce305249294a8b9d89a64db9/68747470733a2f2f7472617669732d63692e6f72672f616c666f6e736f6d67612f73796d666f6e792e64656d6f2e6f6e2e726f6964732e737667)](https://travis-ci.org/alfonsomga/symfony.demo.on.roids)[![Total Downloads](https://camo.githubusercontent.com/8efa1a32135e53f0f6a4168e30ec5e3c9d1d908aae42c6425c37ec50eff02a4c/68747470733a2f2f706f7365722e707567782e6f72672f616c666f6e736f6d67612f73796d666f6e792e64656d6f2e6f6e2e726f6964732f646f776e6c6f616473)](https://packagist.org/packages/alfonsomga/symfony.demo.on.roids)[![PHP Version](https://camo.githubusercontent.com/cb555bae73e897bdd83c64e18a7404f896290f3355889dc2f4bdf5eaf5a930b5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d352e352e32312b2d6666363962342e737667)](https://packagist.org/packages/alfonsomga/symfony.demo.on.roids)[![License](https://camo.githubusercontent.com/b39b5dcd7e4736d957512af95adc6e4c299825f346ecaeb865078811afbee4cb/68747470733a2f2f706f7365722e707567782e6f72672f616c666f6e736f6d67612f73796d666f6e792e64656d6f2e6f6e2e726f6964732f6c6963656e7365)](https://packagist.org/packages/alfonsomga/symfony.demo.on.roids)

The "Symfony Demo Application on Roids" is an application based on the original [**Symfony Demo Application**](https://github.com/symfony/symfony-demo) that includes extra features using technologies like [**Elasticsearch**](https://www.elastic.co/products/elasticsearch), [**OAuth**](http://oauth.net/), [**RabbitMQ**](https://www.rabbitmq.com/), [**Redis**](http://redis.io/) and a [**RESTful API**](https://en.wikipedia.org/wiki/Representational_state_transfer) + [**HATEOAS**](https://en.wikipedia.org/wiki/HATEOAS).

 [![](https://camo.githubusercontent.com/d5aef6dc8e6aaa5097221be2d1895363fd7c51417655966f72d476691745e042/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f656c61737469637365617263682e737667)](#) [![](https://camo.githubusercontent.com/8ae00b5bc7cec75c7874c84f69045c9c478ecd1b772c5a7ebf10f9b766f14e88/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f6f617574682e737667)](#) [![](https://camo.githubusercontent.com/bc23ba8006d5444a3c2895076476a9f1f51d536f31eae9ad5e24fe27997d3c76/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f7261626269746d712e737667)](#) [![](https://camo.githubusercontent.com/4798c7c96a5479a8a4be64adc1cee4cc1ee5e713e4f09cdfdc3760bf8b01d593/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f72656469732e737667)](#) [![](https://camo.githubusercontent.com/b1573b75f86bbde407466b97f0f32dc2c1a5de53dadd7207e17a984a1ac27116/68747470733a2f2f692e696d6775722e636f6d2f716f766f7a63322e706e67)](#)

Table of Contents
-----------------

[](#table-of-contents)

- [Setting up &amp; running the demo with Vagrant + Ansible](#setting-up--running-the-demo-with-vagrant--ansible)
    - [Prerequisites](#prerequisites)
    - [Instructions](#instructions)
- [RESTful API + HATEOAS](#restful-api--hateoas)
- [Elasticsearch](#elasticsearch)
- [OAuth](#oauth)
- [RabbitMQ](#rabbitmq)
- [Redis](#redis)

[![](https://camo.githubusercontent.com/ebe7c4708c966214283d452bbba63cf11d75880e529ddbe0871137009d0a97d8/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f616e7369626c652e737667)](https://camo.githubusercontent.com/ebe7c4708c966214283d452bbba63cf11d75880e529ddbe0871137009d0a97d8/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f616e7369626c652e737667)

[![](https://camo.githubusercontent.com/d19c362224abe89528e2130d40f7af8e777a1e733abde9f980a30a5b318938f1/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f76616772616e742e737667)](https://camo.githubusercontent.com/d19c362224abe89528e2130d40f7af8e777a1e733abde9f980a30a5b318938f1/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f76616772616e742e737667)

\## Setting up &amp; running the demo with \[\*\*Vagrant\*\*\]() + \[\*\*Ansible\*\*\]() [![](https://camo.githubusercontent.com/e7eda9d04f1fc86e0eb81be58dc4d1fdbfd1c11d57a6bb24762cabc91d2882a8/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f64643161326337623938333239316236626261343531383539353266316561656f2e706e67)](https://camo.githubusercontent.com/e7eda9d04f1fc86e0eb81be58dc4d1fdbfd1c11d57a6bb24762cabc91d2882a8/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f64643161326337623938333239316236626261343531383539353266316561656f2e706e67)

\### Prerequisites - \[Vagrant\]() installed - \[Ansible\] ([http://docs.ansible.com/ansible/intro\_installation.html](http://docs.ansible.com/ansible/intro_installation.html)) installed - \[Virtualbox\]() installed ### Instructions

[](#instructions)

1. `git clone https://github.com/alfonsomga/symfony.demo.on.roids.git`
2. `cd symfony.demo.on.roids/vagrant/`
3. `vagrant up`
4. Wait until Ansible installs and configure everything
5. Finally navigate to [](http://192.168.50.88/)**** to browse the app

Congratulations! You're now ready to use The Symfony Demo On Roids.

[![](https://camo.githubusercontent.com/b1573b75f86bbde407466b97f0f32dc2c1a5de53dadd7207e17a984a1ac27116/68747470733a2f2f692e696d6775722e636f6d2f716f766f7a63322e706e67)](https://camo.githubusercontent.com/b1573b75f86bbde407466b97f0f32dc2c1a5de53dadd7207e17a984a1ac27116/68747470733a2f2f692e696d6775722e636f6d2f716f766f7a63322e706e67)

\## RESTful API + HATEOAS [![](https://camo.githubusercontent.com/8f954f8700d271e33a91ffa7eef2f9075c51e13e02c130a0fcf3c126344f64ef/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f39303265663931393930323362376437666631653337616164633332656530396f2e706e67)](https://camo.githubusercontent.com/8f954f8700d271e33a91ffa7eef2f9075c51e13e02c130a0fcf3c126344f64ef/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f39303265663931393930323362376437666631653337616164633332656530396f2e706e67)

A RESTful API + HATEOAS has been implemented for expose the resources. Different formats are available for manage the data: HTML, JSON and XML.

**Related urls:**

- [**API Index page**](http://192.168.50.88/api/v1/)
- [**API Documentation**](http://192.168.50.88/api/doc)

**Bundles used:**

- [**FOSRestBundle**](https://github.com/FriendsOfSymfony/FOSRestBundle)
- [**JMSSerializerBundle**](https://github.com/schmittjoh/JMSSerializerBundle)
- [**NelmioApiDocBundle**](https://github.com/nelmio/NelmioApiDocBundle)
- [**FOSHttpCacheBundle**](https://github.com/FriendsOfSymfony/FOSHttpCacheBundle)
- [**BazingaHateoasBundle**](https://github.com/willdurand/BazingaHateoasBundle)
- [**BazingaRestExtraBundle**](https://github.com/willdurand/BazingaRestExtraBundle)

[![](https://camo.githubusercontent.com/d5aef6dc8e6aaa5097221be2d1895363fd7c51417655966f72d476691745e042/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f656c61737469637365617263682e737667)](https://camo.githubusercontent.com/d5aef6dc8e6aaa5097221be2d1895363fd7c51417655966f72d476691745e042/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f656c61737469637365617263682e737667)

\## Elasticsearch [![](https://camo.githubusercontent.com/595e859470eab9939447e61e00fe2d0cc921d1a7a23774222abac7fc0eac199b/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f30373363343862346164373234336531636134333835646333346635613265396f2e706e67)](https://camo.githubusercontent.com/595e859470eab9939447e61e00fe2d0cc921d1a7a23774222abac7fc0eac199b/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f30373363343862346164373234336531636134333835646333346635613265396f2e706e67)

Elasticsearch has been used for add a simple search form and show relevant results based on the user search query.

**Related urls:**

- [**Elasticsearch Admin panel**](http://192.168.50.88:9200/_plugin/head/)
- [**Elasticsearch app search page (results for `Lorem ipsum`)**](http://192.168.50.88/blog/search-results?q=Lorem+ipsum)

**Bundles used:**

- [**FOSElasticaBundle**](https://github.com/FriendsOfSymfony/FOSElasticaBundle)

[![](https://camo.githubusercontent.com/8ae00b5bc7cec75c7874c84f69045c9c478ecd1b772c5a7ebf10f9b766f14e88/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f6f617574682e737667)](https://camo.githubusercontent.com/8ae00b5bc7cec75c7874c84f69045c9c478ecd1b772c5a7ebf10f9b766f14e88/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f6f617574682e737667)

\## OAuth [![](https://camo.githubusercontent.com/708ab9597b8831fc4b5c1ac9e4bc77eb7f1cdcb4c723d488df14fa865cc26bd0/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f38616130653266323134393033393363333939656434313262303030336261336f2e706e67)](https://camo.githubusercontent.com/708ab9597b8831fc4b5c1ac9e4bc77eb7f1cdcb4c723d488df14fa865cc26bd0/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f38616130653266323134393033393363333939656434313262303030336261336f2e706e67)

OAuth has been used for link/unlink an account from an OAuth provider (GitHub in this case) to an existent backend account and allows to log in directly to the backend from a GitHub account.

To use this feature you must [register a new OAuth Application](https://github.com/settings/applications/new) and edit the [parameters.yml.dist](https://github.com/alfonsomga/symfony.demo.on.roids/blob/master/app/config/parameters.yml.dist) file with your app `client id` and `client secret` token.

**Related urls:**

- [**Login page (click on `Sign in with GitHub`)**](http://192.168.50.88/en/login)
- [**Manage your OAuth account (`Link` or `Unlink` `Github Account`)**](http://192.168.50.88/en/admin/post/)

**Bundles used:**

- [**HWIOAuthBundle**](https://github.com/hwi/HWIOAuthBundle)

[![](https://camo.githubusercontent.com/bc23ba8006d5444a3c2895076476a9f1f51d536f31eae9ad5e24fe27997d3c76/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f7261626269746d712e737667)](https://camo.githubusercontent.com/bc23ba8006d5444a3c2895076476a9f1f51d536f31eae9ad5e24fe27997d3c76/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f7261626269746d712e737667)

\## RabbitMQ [![](https://camo.githubusercontent.com/1e9526ae46e35199a6c74b0359d73216fe587db1cf3dcd59e1822f41b5f3c1d7/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f33396231656166346330356566333132343730313830356639643361383064376f2e706e67)](https://camo.githubusercontent.com/1e9526ae46e35199a6c74b0359d73216fe587db1cf3dcd59e1822f41b5f3c1d7/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f33396231656166346330356566333132343730313830356639643361383064376f2e706e67)

RabbitMQ has been used for generate a PDF file based on the article content from a consumer in a scalable way.

**Related urls:**

- [**RabbitMQ Admin panel (User: `admin` password: `symfony.demo.on.roids`)**](http://192.168.50.88:15672)
- [**Post page (click on `Download post as PDF`)**](http://192.168.50.88/en/blog/posts/lorem-ipsum-dolor-sit-amet-consectetur-adipiscing-elit)

**Bundles used:**

- [**RabbitMqBundle**](https://github.com/videlalvaro/RabbitMqBundle)
- [**KnpSnappyBundle**](https://github.com/KnpLabs/KnpSnappyBundle)

[![](https://camo.githubusercontent.com/4798c7c96a5479a8a4be64adc1cee4cc1ee5e713e4f09cdfdc3760bf8b01d593/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f72656469732e737667)](https://camo.githubusercontent.com/4798c7c96a5479a8a4be64adc1cee4cc1ee5e713e4f09cdfdc3760bf8b01d593/687474703a2f2f737667706f726e2e636f6d2f6c6f676f732f72656469732e737667)

\## Redis [![](https://camo.githubusercontent.com/7f6944fb85011ee82e159a908f81e2a962e8d431c2e4ddeace80007f7d62d33b/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f38653665366133353037663831343563336266373264336339616635333935316f2e706e67)](https://camo.githubusercontent.com/7f6944fb85011ee82e159a908f81e2a962e8d431c2e4ddeace80007f7d62d33b/687474703a2f2f666f746f732e73756265666f746f732e636f6d2f38653665366133353037663831343563336266373264336339616635333935316f2e706e67)

Redis has been used for show the top 5 popular posts and set a cache lifetime of 3600 seconds.

**Related urls:**

- [**Top 5 popular posts**](http://192.168.50.88/blog/top-5-popular-posts)

**Bundles used:**

- [**SncRedisBundle**](https://github.com/snc/SncRedisBundle)

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 97% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/5a3b548c73e8b9d3d0e620c561787443783c408d663f42abf24ab553aa5687e3?d=identicon)[alfonsomga](/maintainers/alfonsomga)

---

Top Contributors

[![herewegoo](https://avatars.githubusercontent.com/u/20369836?v=4)](https://github.com/herewegoo "herewegoo (32 commits)")[![jdecoster](https://avatars.githubusercontent.com/u/606311?v=4)](https://github.com/jdecoster "jdecoster (1 commits)")

### Embed Badge

![Health badge](/badges/alfonsomga-symfonydemoonroids/health.svg)

```
[![Health](https://phpackages.com/badges/alfonsomga-symfonydemoonroids/health.svg)](https://phpackages.com/packages/alfonsomga-symfonydemoonroids)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
