Full-Stack Symfony + AngularJS Web App (Vagrant/Chef)
Overview
A full-stack web-application scaffold combining a Symfony 2.3 REST back end with an AngularJS client, wrapped in a reproducible Vagrant/Chef development environment. The folder name (“turboplay”) suggests a games/media or play-oriented product idea.
Why It Exists
To stand up a modern (for 2014–15) decoupled web app, REST API plus JavaScript SPA, with a one-command, provisioned dev box so the environment was consistent and disposable.
What We Built
A Symfony Standard Edition (2.3) project (src/Acme, src/Gecatalin) whose composer.json pulls in FOSUserBundle, FOSRestBundle, JMS Serializer, Doctrine ORM and a divi/ajax-login-bundle for AJAX authentication, i.e. a JSON REST API with token/AJAX login. A separate client/ directory holds the front end, and a Vagrantfile + Cheffile + boot.sh provision an Ubuntu box (Apache, PHP 5, MySQL via Chef, plus Node, Bower and Grunt for the front-end build) so the SPA and API run together locally.
Technologies & Approach
Symfony 2.3 (Doctrine, Twig, Swiftmailer, Monolog) for the API; AngularJS with a Bower/Grunt build for the client; Vagrant + Chef Solo for infrastructure-as-code provisioning. This mirrors the decoupled REST-plus-SPA pattern seen across the developer’s 2015 projects, here with the strongest DevOps/provisioning story.
Outcome / Impact
A working full-stack build and environment template. It validated the developer’s ability to integrate a Symfony REST API, an AngularJS client, and automated dev-environment provisioning into one project.
Capabilities Demonstrated
- Decoupled full-stack architecture (Symfony REST API + AngularJS SPA)
- AJAX/token authentication and serialization (FOSRest, JMS Serializer)
- Infrastructure-as-code dev environments (Vagrant + Chef)
- Front-end build tooling (Bower, Grunt)