This a Symfony implementation of TodoMVC.
TodoMVC is a project which offers the same Todo application implemented using MV* concepts in most of the popular JavaScript MV* frameworks of today.
Server-side, it uses FOSRestBundle as REST API generator, JMSSerializerBundle as JSON serializer and DunglasAngularCsrfBundle to protect the app against CSRF attacks. Client-side, Backbone.js and Chaplin.js are used and the code is wrote in CoffeeScript.
Yes, this is TodoMVC.
First, install Symfony using Composer. Go to your application directory and use composer to install the bundle and its dependencies:
composer require dunglas/todomvc-bundle
Next, enable these bundles in AppKernel.php:
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new JMS\SerializerBundle\JMSSerializerBundle(),
new FOS\RestBundle\FOSRestBundle(),
new Dunglas\AngularCsrfBundle\DunglasAngularCsrfBundle(),
new Dunglas\TodoMVCBundle\DunglasTodoMVCBundle(),
// ...
);
}And the routes to app/config/routing.yml:
dunglas_todomvc:
resource: "@DunglasTodoMVCBundle/Resources/config/routing.yml"
prefix: /Install assets:
php app/console assets:install web
Dump assets if you want to use the app in prod mode:
php app/console assetic:dump --env=prod --no-debug
Create database schema:
php app/console doctrine:schema:create
Done! Open http://localhost/app_dev.php/ (don't forget the trailing slash) in your browser and try this Symfony implementation of TodoMVC.
If you want to rebuild the client-side CoffeScript code go to the Resources/ directory and run:
coffee --bare --output public/js/ coffee/
Add the --watch option to recompile at each change.
Of course you need the CoffeeScript compiler.
TodoMVC is unsecure by design. Everyone can do everything. If you create a real world Symfony + Backbone.js app be sure to add an authentification system.
In french: Utiliser Chaplin.js et Backbone.js avec Symfony 2 : installation et configuration
This bundle has been created by Kévin Dunglas. The CoffeeScript code is largely inspired of an old implementation of Brunch + Chaplin TodoMVC implementation by Paul Millr.



