GithubHelp home page GithubHelp logo

levyyitzchak / protocol-backend Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aragon/protocol-backend

0.0 0.0 0.0 2.2 MB

Aragon Protocol Backend

Shell 0.18% Dockerfile 0.13% JavaScript 98.82% HTML 0.48% CSS 0.40%

protocol-backend's Introduction

Aragon Court backend

This mono-repo includes a set of sub-repos that are in charge of different parts of the whole Aragon Court backend:

  • app: This repo provides a React app as the frontend app of the Aragon Court backend
  • cli: This repo provides a CLI tool with a set of commands to interact with an Aragon Court instance.
  • server: This repo provides the backend server in charge of setting up a database and exposing a set of endpoints that will complement the functionality exposed by the smart contracts.
  • services: This repo provides a set of background workers in charge of maintaining those things that could be done automatically for Aragon Court.
  • shared: This repo provides a set of components shared among all the sub-repos of this mono-repo.

To understand better about these repos, you will find detailed information about them on their own READMEs. However, you can follow the following guide to understand you to set up everything locally:

Local set up

Development environment is configured using docker-compose.

First make sure to create your own .env:

cp .env.sample .env

Docker setup includes a Grafana dashboard for logs and metrics, which requires a Docker plugin:

docker plugin install  grafana/loki-docker-driver:latest --alias loki --grant-all-permissions

Finally, spin up docker containers with:

docker-compose up --build -d

Local tests can then be run using:

docker-compose exec test yarn workspace @aragon/court-backend-server build
docker-compose exec test yarn test:server
docker-compose exec test yarn test:services

When finished remove the containers with:

docker-compose down

Grafana dashboard updates

To update the dashboard, click Ctrl+S > Copy JSON to clipboard and overwrite the file in monitoring/grafana/provisioning/dashboards/court-backend.json.

CI/CD

For CI/CD we are using GitHub Actions.

1. Testnet CI/CD

  • For automated tests -> on every non-master commit
  • For deploying to staging server -> on every commit in the development branch

2. Mainnet CI/CD

For automated tests and deploying to production when creating v* tags in the master branch.

Deployments can be triggered using lerna:

yarn lerna version [ major | minor | patch ]

3. Dashboard CI/CD

For pushing the Grafana dashboard on any change in development/master branch.

4. Emails / Emails staging

For synchronizing ./emails with Postmark

protocol-backend's People

Contributors

facuspagnuolo avatar promaty avatar novaknole avatar mathewmeconry avatar izqui avatar sohkai avatar novaknole1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.