RC1.0 Roadmap & Milestone Suggestions

Brock McKean edited this page Jun 29, 2015 · 4 revisions

The problem that we're running into as developers is that the interfaces to operate in mean.io are clumsy or even infrequently work against the entire proposed programming paradigm of high level feature and application packaging and encapsulation. So, we need to come up with some recommended best practices, abstract what we can to the meanio node module, and keep the rest in the core and custom packages. I don't have a good list for this yet, but I will sometime tomorrow and add it to this post, but for now some other general design and best practices suggestions are:

What needs to be done generically to all of the packages in packages/core/ is that they need to strongly support and enforce, or themselves depend on a strongly enforced, Dependency Injection related api implementation in meanio. In order to do that, we have to consider the nodejs, angularjs, sql/nosql, and expressjs best practices and semantics to abstract things like emitters/listeners and services to share the entire package as a feature all together.

An API mechanism could be written to easily allow the creation of node emitters and listeners and aggregate them as well as angular services in the same fashion. It was recently mentioned that configurations are lacking in packages: they need to have environment support. Testing for this purpose should be examined and hopefully without much effort we cancome up with a plan to build our mean.io testing implementations to test things more like a package and application from the user perspective. Waterline or something like it needs to be plugged in instead of simply mongoose, but that's not a necessity for RC1. Overall, a package based dependency injection programming model and style guidelines are required, and I will address as much of this as possible in a code review. I'm not sure if everyone can contribute to this exactly, so we will change permissions to allow as much discussion as we can. Please everyone provide your own suggestions, do your own code reviews and write your findings here!

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.