alfonsomga / symfony.demo.on.roids
The Symfony Demo Application On Roids
Requires
- php: >=5.5.21
- ext-pdo_sqlite: *
- doctrine/doctrine-bundle: ~1.5
- doctrine/doctrine-fixtures-bundle: ~2.2
- doctrine/orm: ~2.4
- erusev/parsedown: ~1.5
- ezyang/htmlpurifier: ~4.7
- friendsofsymfony/elastica-bundle: dev-master
- friendsofsymfony/http-cache-bundle: ~1.0
- friendsofsymfony/rest-bundle: ~1.7
- hwi/oauth-bundle: 0.4.*
- incenteev/composer-parameter-handler: ~2.1
- ircmaxell/password-compat: ~1.0
- jms/serializer-bundle: ~1.1
- knplabs/knp-paginator-bundle: ~2.4
- knplabs/knp-snappy-bundle: dev-master
- leafo/scssphp: ~0.1.5
- nelmio/api-doc-bundle: ~2.11
- oldsound/rabbitmq-bundle: ~1.8
- patchwork/jsqueeze: ~1.0
- predis/predis: ^1.0
- sensio/distribution-bundle: ~5.0
- sensio/framework-extra-bundle: ~3.0
- snc/redis-bundle: 1.1.x-dev
- symfony/assetic-bundle: ~2.6
- symfony/monolog-bundle: ~2.7
- symfony/swiftmailer-bundle: ~2.3
- symfony/symfony: ~2.8
- twig/extensions: ~1.2
- willdurand/hateoas-bundle: ~1.1
- willdurand/rest-extra-bundle: ~1.0
Requires (Dev)
This package is not auto-updated.
Last update: 2020-01-16 23:15:36 UTC
README
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 + Ansible
- RESTful API + HATEOAS
- Elasticsearch
- OAuth
- RabbitMQ
- Redis
Instructions
git clone https://github.com/alfonsomga/symfony.demo.on.roids.git
cd symfony.demo.on.roids/vagrant/
vagrant up
- Wait until Ansible installs and configure everything
- 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 + HATEOASA 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:
- FOSRestBundle
- JMSSerializerBundle
- NelmioApiDocBundle
- FOSHttpCacheBundle
- BazingaHateoasBundle
- BazingaRestExtraBundle
Elasticsearch has been used for add a simple search form and show relevant results based on the user search query.
Related urls:
Bundles used:
## OAuthOAuth 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:
## RabbitMQRabbitMQ 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
) - Post page (click on
Download post as PDF
)
Bundles used:
## RedisRedis has been used for show the top 5 popular posts and set a cache lifetime of 3600 seconds.
Related urls:
Bundles used: