ucbi / uniform

Write less boilerplate and reuse more code in your portfolio of Elixir apps
https://hex.pm/packages/uniform
Apache License 2.0
33 stars 1 forks source link


Uniform

Write less boilerplate and reuse more code in your portfolio of Elixir apps

Build Status hex.pm hex.pm Documentation

With Uniform, developers maintain multiple Elixir apps inside a Base Project – a "monolith" containing every app. Before deployment, the apps are "ejected" into separate codebases containing only the code needed by each app.

The entire process is automated, so there's much less work required to start a new app or share capabilities between apps.

The complete documentation for Uniform is located here.

Recommended Guides

In order to understand and use this library, we heavily recommend reading the following guides:

The Setting up a Phoenix project guide is recommended if you're building Phoenix apps.

Usage

mix uniform.eject tweeter

Installation

Consult the Getting Started guide to add Uniform to an Elixir application.

In summary, you'll need to:

  1. Add the dep in mix.exs
  2. Add a Blueprint module to your project
  3. Add configuration to identify the Blueprint module
  4. Add uniform.exs manifests to each Ejectable App
  5. Fill out the Blueprint so all the necessary files get ejected

Example Codebase

You can find a barebones example project here: https://github.com/ucbi/example_uniform_project

License

Copyright 2022 United Community Bank

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.