• This repository has been archived on 22/Aug/2018
  • Stars
    star
    121
  • Rank 292,857 (Top 6 %)
  • Language
    PHP
  • License
    MIT License
  • Created almost 9 years ago
  • Updated almost 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Symfony Demo Application on Roids!

The Symfony Demo Application on Roids!

Build StatusTotal DownloadsPHP VersionLicense

The "Symfony Demo Application on Roids" is an application based on the original Symfony Demo Application that includes extra features using technologies like Elasticsearch, OAuth, RabbitMQ, Redis and a RESTful API + HATEOAS.

Table of Contents

## Setting up & running the demo with [**Vagrant**](https://www.vagrantup.com/) + [**Ansible**](http://www.ansible.com/)

### Prerequisites - [Vagrant](https://www.vagrantup.com/downloads.html) installed - [Ansible] (http://docs.ansible.com/ansible/intro_installation.html) installed - [Virtualbox](https://www.virtualbox.org/wiki/Downloads) installed

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.

## RESTful API + HATEOAS

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:

Bundles used:

## Elasticsearch

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

Related urls:

Bundles used:

## OAuth

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 and edit the parameters.yml.dist file with your app client id and client secret token.

Related urls:

Bundles used:

## RabbitMQ

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

Related urls:

Bundles used:

## Redis

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

Related urls:

Bundles used: