Skip to content

Latest commit

 

History

History
98 lines (70 loc) · 4.08 KB

CONTRIBUTING.md

File metadata and controls

98 lines (70 loc) · 4.08 KB

1. Getting Oriented.

We're currently working towards our 1.0 Andromeda Release. The issues in the milestone are ordered by rough priority.

Each issue labeled epic is pretty big. We tend to use checkboxes to decompose big issues into smaller pieces of work for people to bite off. We don't expect contributors to complete all the work before submitting their first patch. Instead, we prefer Contributors to take little bites and submit small patches so that we can develop tight, asynchronous feedback loops.

We use labels like design, documentation, test, code, infrastructure, and security to indicate what kind of work is remaining on the issue.

We tend to “merge quickly and often” so long as the patch is safe to apply. If you prefer your patch not get merged, please mark the PR as a draft.

New contributors may want to review the Zinc contribution guide for an overview of the norms we follow across projects.

1.1. Architecture

At present, Convene is split into three modules:

The root directory provides the human and programmatic interface for Convene as well as data-persistence; with two additional submodules.

  • infrastructure, which contains infrastructure management code for Packer, Terraform and Ansible.
  • features, which includes the high-level test definitions for the Convene experience.

1.2. Design

We encourage everyone to read the Convene Experience Brief to orient themselves on our target emotional and experience design.

We have a set of Personas and a Glossary that guide our design and development.

We also have a set of inspirational Wireframes.

Designers who have agreed to protect the privacy of our clients may access our Customer Research Interviews

2. Machine Setup.

2.1. Developer Setup and Documentation.

To set up your development environment you'll need ruby, node and postgresql.

First, ensure your development environment has:

  1. Ruby (See .ruby-version for version)
  2. Node (See .nvmrc for version)
  3. Yarn
  4. PostgreSQL 12. (Note: For people using Docker, a docker-compose.yml file has been included for convenience.)

Then, run bin/setup to install Ruby and Node dependencies and set up the database.

Once setup completes, configure your local development environment.

  1. Open .env and make any changes.

Once you have completed configuration; run bin/run. You now should be able to open http://localhost:3000 and see Convene.

Log in with [email protected]. You can check the email using http://localhost:1080.

Finally, with the server still running (perhaps in a different terminal), run bin/test to ensure that your development environment is configured correctly.

2.2. Infrastructure Setup and Documentation.

Infrastructure engineers may want to look at the infrastructure module's README, which includes how to configure your local machine or a virtual machine as a video bridge host.