Skip to content

Overview (Not a framework)

Jayson Harshbarger edited this page Oct 6, 2016 · 1 revision

Project χ contains many tools to help in the construction of web-based interactive data visualization. In this sense, Project χ may be considered a template or boilerplate. Yet, it is more than that.

With a template or boilerplate approach, each new project is a fork of the boilerplate. Customizations and improvements to the boilerplate code in one project are not easily portable to other projects using the same boilerplate. It quickly becomes hard to distinguish template code from project code.

With Project χ, I have created a system where using gulp as a task runner, I can use a single copy of Project χ across multiple projects. Switching between projects is a simple as using command line flags and allows me to keep a clear separation of concerns in my projects while still sharing a common base. In fact, Project χ also allows sharing of resources across projects. I often need to deploy multiple instances of the same web tool that vary only by the data. Each sub project shares the same base code which also shares code with Project χ core.

In this way, Project χ is not a dependent of each project but rather a parent, watching over each project and handling some of the dirty parts. Installing Project χ also installs modern, up-to-date tools and resources for web development. Project χ, via gulp, provides commands for testing, building and deploying each application.