2017 Plans!

Howdy! I just wanted to share a quick update regarding how 2017 looks for the CMPD project.

I’m going to begin converting the existing project from Laravel to Phalcon. This should make everything from onboarding new developers to pushing to production significantly easier. Phalcon’s structure is better for creating new modules in our application (think separate apps with shared logic) which aligns with possible goals such as adding “sponsor a child” functionality. Also, its ORM does not require you to learn a custom framework for writing basic SQL queries which will be extremely useful in developing new functionality and new reporting tools. From personal experience as well as a close friend’s, Phalcon applications are easier to dive into and change where I never felt I could get away from being constantly buried in Laravel’s documentation.

Additionally we’ll have a provisioning script for vagrant boxes that will run faster and make it easier to keep all of our developers up-to-date on stack changes. That provisioning script can also be ported to pushing production updates later on.

Phalcon’s MVC setup is fairly simple to Laravel’s and it’s still PHP so it shouldn’t be too hard to port everything over but it may take our first month or so. I’m working with the latest version of Phalcon on a side project and will be able to open source certain code snippets that will overlap our project or push this transition along easier. For example, I already have most of our provisioning script ready.

Etienne has also expressed interest in contributing to the core of the framework in general, which is written in C. That would be awesome.

John is reviewing and revising our data model— making improvements and paving the way for us to better organize and report on what toys are needed.

Down the road we’ll be working on all of the Phase 3 tasks(https://github.com/CodeForCharlotte/cmpd-holiday-gift-backend/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Phase+3%22) and perhaps more. These will range from improvements to existing functionality to possibly building Amazon wishlists and a “sponsor a child” site. I imagine we’ll have a rendezvous with CMPD soon to discuss the project’s direction.

Woo!