Skip to content

MetLifeLegalPlans/zygoat

Repository files navigation

zygoat

What is zygoat?

zygoat is a command line tool used to bootstrap and configure a React/Django/Postgres stack web application.

Linting, test configuration, boilerplate, and development environment are automatically taken care of using zygoat so that you can get up and running faster.

zygoat also includes a preset deployment configuration to allow you to deploy your stack to an AWS environment with a single command. You'll get a full serverless AWS stack to keep things inexpensive and nimble.

How does it work?

zygoat works by defining Components, defined as parts of projects, and then defining how you implement those components based on whether you're creating a new project, updating an existing project, or deleting a component that's no longer needed.

For instance, for the python backend, we want to include black, which is a tool for automatically formatting python code in a standard way to make it pep8 compliant. To install black in for the python backend part of the project, we create a Component for it, specifically a FileComponent, which defines how we treat files that we need in projects. Then we register the Black component (defined in black.py) with the Backend component (defined in backend/__init__.py) as a sub component. This way, whenever you create or update (or delete) a project with the Backend component, you'll do the same 'phase' to the Black component.

Installation

pip install --upgrade zygoat

Usage

mkdir my-cool-new-app && cd my-cool-new-app
git init
zg new my-cool-new-app

For more customization and configuration, check out the official documentation.

How do I develop changes for it?

Make a new git repository somewhere, we'll call it test-zg

mkdir test-zg && cd test-zg
git init

Install the zygoat package locally

pip install --user --upgrade ~/Projects/zygoat  # Or wherever you have it

If you're using the asdf version manager, reshim

asdf reshim python

Run zg commands, see if they fail

zg new test
zg update
zg delete

Contributing

zygoat is developed using the Poetry packaging framework for Python projects to make development as simple and portable as possible.


Documentation

Available on ReadTheDocs

About

An app for making and maintaining apps with React.js, Django, Postgres, AWS Lambda, etc.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published