Building a Poncho Project

Let’s learn how to create a poncho project.

We’ve determined that we want to use Mastery in a couple of use cases, some of which require permanent persistence to a database and some that don’t. For such a situation, we’ll want to create a persistence solution as a dependency.

A convenient way to do so is through a poncho project. It’s not a term that we invented, but it’s an almost trivial concept. We’ll create the dependency from within the mastery directory, but its code will live outside lib and have its own lib directory. The advantage of this approach is that we’ll be able to grow these two projects within the same codebase and still reduce coupling. When it’s time to separate them at the directory level, we’ll be able to do the following:

  • Tweak the mix dependencies.

  • Check them into different repositories.

Everything else will work.

Get hands-on with 1200+ tech skills courses.