This guide will document the steps to set up and run Giveth.io locally for the purposes of development. The setup process was documented using Ubuntu 20.04 LTS.
You'll need a couple prerequisites to get started.
Giveth IO leverages notable packages, applications and architectures including:
- Apollo GraphQL
Install the back-end (impact-graph) from GitHub
In order to develop locally you need to clone the back-end server. We are using https://github.com/Giveth/impact-graph for this.
via SSH on the CLI:
git clone firstname.lastname@example.org:Giveth/impact-graph.git
cp .env.example .env
Create a Database and User in Postgres using psql
Follow this tutorial on PSQL to setup your username and create the database. https://medium.com/coding-blocks/creating-user-database-and-adding-access-on-postgresql-8bfcd2f4a91e)
sudo -u postgres psql
postgres=# create database <databaseName>;
postgres=# create user <userName> with encrypted password '<passwordHere>';
postgres=# grant all privileges on database <databaseName> to <userName>;
Clone and Install the Frontend
Head on over to https://github.com/Giveth/giveth-dapps-v2, and clone the repo.
via SSH on the CLI:
git clone email@example.com:Giveth/giveth-dapps-v2.git
Get the Environment Variables
In order to run the local build for Giveth.io you'll need to ask for the environment variables. Head on over to our Contributors Discord, say Hi and get in touch with our product manager, @MoeNick or one of the developers.
Launch the Development Server and Environment
Start up the
impact-graph backend server and redis.
Run redis by using the command
From the impact-graph repo start with
Run the Migrations to Setup the Database
In a separate terminal
cd into the
run this command in the terminal:
npm run typeorm:cli -- migration:run
Deploy the Front-end
To take advantage of linting presets, please use VSCODE:
Select File -> Open Workspace.
Navigate into the giveth-dapps-v2 directory.
Install recommended extensions & packages (Prettier and StandardJS plugins).
Then fire up the front-end locally.
yarn run dev
You should be ready to go for real-time coding!