aragon / aragon-apps

(Aragon 1) Aragon apps developed by Aragon Core Devs (smart contracts + webapps)
https://aragon.org/discover
GNU Affero General Public License v3.0
388 stars 212 forks source link
aragon aragon-app ethereum ethereum-dapp solidity solidity-contracts solidity-dapps

Aragon Apps

Build status Coveralls branch

Apps

This monorepo contains the following apps:

Each of the individual apps come with a frontend that is intended to be installed and used through the Aragon client.

You can read more about how each of the individual apps work in the Aragon user guide.

Quick start

aragon-apps uses yarn workspaces and lerna to manage its individual app workspaces.

To bootstrap, run:

yarn

This will initialize and install each of the individual apps, hoisting their shared dependencies into the root node_modules/ directory.

💡 If you're only interested in bootstrapping one package, you can go to that specific package workspace and use yarn install --focus

Smart contracts

Running tests on all apps can be done by running yarn test at the root directory (note that this can take a significant amount of time!).

Running tests of an individual app can be done by running yarn test inside an individual app's directory, or through the selective yarn test:<app> scripts.

By default, tests are run on an in-memory instance of testrpc.

Frontends

Each app's frontend is encapsulated inside of that app's own app/ directory.

To work on frontend, you'll need to go into app/ directory and do another yarn installation. For more instructions, you can follow the "Frontend Setup" guide in the Aragon client. Note that the app itself doesn't need to be bootstrapped if you'd just like to install the frontend.

For example:

# Starting at this project's root
# Go to the Voting app's directory
cd apps/voting

# Go to the Voting app's frontend directory
cd app/

# Install and start
yarn
yarn start

Contributing

For some introductory information on what an Aragon app is, and how to build one, please read through the Aragon stack introduction and Your first Aragon app. To build Aragon client-compatible apps, the aragonAPI documentation is also available as a reference.

👋 Get started contributing with a good first issue.

Don't be shy to contribute even the smallest tweak. 🐲 There are still some dragons to be aware of, but we'll be here to help you get started!

For more details about contributing to Aragon, please check the contributing guide.

Issues

If you come across an issue with Aragon, do a search in the Issues tab of this repo and the Aragon client's issues to make sure it hasn't been reported before. Follow these steps to help us prevent duplicate issues and unnecessary notifications going to the many people watching this repo:

Help

For help and support, feel free to contact us at any time on our Discord.