2017 Plans.... Take 2!

Earlier this year we outlined plans to convert our existing, Laravel implementation to use the Phalcon PHP framework. We began the conversion process but after several hack nights, and situations that were reflective of issues we had working on the Laravel version arose, the team met to discuss the project's current direction.

We were still sold on a conversion--- the question was, "to what?"

We started April taking a week off from the project to do some R&D, and ultimately decided we would move the project forward with NodeJS and VueJS.


Why switch again?

When I started working on the project in late 2015, I rolled with PHP because it was what I knew best. The biggest problem is regardless of how much you automate it (like setting up an Ansible playbook to provision a vagrant box automatically), that setup was a cumbersome process to throw at our team of volunteers that was also simultaneously learning PHP and the underlying frameworks. When you mix all of the learning with all of the set up and maintenance, starting work on the project is more of a burden than it is fun.


It seemed a lot of our volunteers had experience with Javascript in some part of the stack, and while we also get volunteers with C# and Java experience (so we weighed using .NET), we decided it would be most efficient to share the same language between the front end and the back end. Sure, once you start introducing frameworks like Express and Vue, as well as ORMs like Sequelize, and the learning curve begins to take form, but at least anyone looking to join our project that has Javascript experience can pick what specifically they would like to work with, and concentrate on the exciting, new technology to them, rather than having to climb the language barrier beforehand.


Check out our product requirement doc for a background on the project  or the 2017.1 doc for a list of user stories we'll be re-implementing with Node and Vue!