Ribon is a decentralized donation platform that allows donors to become promoters and, by doing so, encourages others to join them in a global culture of giving. This way itβs possible to increase donations to charities, promote a culture of giving in the world and make people happier. The decentralized platform is governed by the community, and this whitepaper is a reader-friendly description of the Ribon protocol, which is built on Matic/Polygon, a layer 2 in Ethereum.
In order to run the project from a local environment we need node>=16
, npm>=8
installed on our development machines. We also recommend yarn>=1.22
to manage dependencies but is optional. The following steps are using the yarn CLI.
NOTE: You may will need the .env file with some environment variables. You can get it by accessing our Discord Server and requesting it on the #Development channel
To clone the repo:
git clone git@github.com:ribonapp/app.git
To install the application:
yarn install
Copy the .env.example to a .env file
cp .env.example .env
To start a local copy of the app on port 3000
:
yarn start
For running the test suite, use the following command. Since the tests run in watch mode by default, some users may encounter errors about too many files being open. In this case, it may be beneficial to install watchman.
yarn test
You can request a coverage report by running the following command:
yarn testCoverage
To check the code quality, use the following command:
yarn lint
To check the styles quality, use the following command:
yarn lint:css
A production deployment is a complete build of the project, including the build of the static assets.
yarn build
Storybook is being leveraged to mock out visual React components. You can start the Storybook Server on http://localhost:6006 by running the following command:
yarn storybook
In local development the data comes from the development API (hosted on AWS). There are still two another environments:
- Staging: https://ribon-dapp-staging.web.app/?integration_id=1
- Production: https://dapp.ribon.io/?integration_id=1
The staging environment is a production replica, but with a different database. Every time a PR is merged into main this environment is updated with the new code
The production environment is the environment that users are in. Every new merge in main updates this environment
Both environments are hosted on firebase.
We encourage you to contribute! Please check out the Contributing guide for guidelines about how to proceed.
Got Questions? Join the conversation in our Discord.
Find RibonDAO updates in our Twitter.