Skip to content

Discovery-Labs/dCompass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

dCompass

A gamified and community driven Web3 learning platform.

Tech stack overview

We are using TypeScript with Next.js on the front-end, and NestJS on the back-end. Ceramic is our main data store in conjunction with Filecoin & IPFS for file storage.

πŸ“ Folder structure

.
β”œβ”€β”€ packages # Monorepo using yarn workspaces & lerna
β”‚ β”œβ”€β”€ web # Landing page https://www.dcompass.discovery-dao.xyz/
β”‚ β”œβ”€β”€ schemas # Ceramic and JSON schemas
β”‚ β”œβ”€β”€ dapp # Web3 app for the projects, quests, etc
β”‚ β”œβ”€β”€ hardhat # Contracts compiled & deployed using hardhat.js
β”‚ β”œβ”€β”€ ui # Our custom Chakra UI theme
β”‚ └── server # A NodeJS server storing user data on a Ceramic instance with a private key and utilizing Thread DB app
└── ... config ...

πŸ„β€β™‚οΈ Quick Start

Prerequisites

Clone dCompass

$ git clone https://github.com/Discovery-Labs/dCompass.git

install dependencies

$ cd dCompass && yarn install

Setup env

In each package individually, create your .env files by copying the .example.env and fill in the empty values.

$ cd packages/[dapp, hardhat and schemas]
$ cp .example.env .env

Create API Key

Go to https://web3.storage and set the value of WEB3STORAGE_TOKEN with your web3.storage API key.

πŸΊβ€ Publish your Ceramic schemas

$ cd packages/schemas
$ yarn build

πŸ›° Run the backend

At the root of the project, you can run

$ yarn api:dev

or

$ cd packages/dapp
$ yarn dev

πŸ‘·β€ Build it!

run hardhat locally, get some faucet and πŸ›° deploy your contract Set one of your addresses as the DEV_ADDRESS as well as a dev hot wallet private key as the DEPLOYER_PRIVATE_KEY environment variables in packages/hardhat/.env

$ cd packages/hardhat
$ yarn chain
$ yarn faucet <YOUR_DEV_ADDRESS>

Deploying on localhost
$ yarn deploy --network localhost --reset

Deploying on mumbai
$ yarn deploy --network mumbai --reset

Deploying on an other testnet (make sure to edit the hardhat.config.js first)
$ yarn deploy --network mytestnet --reset

Testnet Faucets

Dev Preview

Start the πŸ“± dApp:

At the root of the project, you can run

$ yarn dapp:dev

or

$ cd packages/dapp
$ yarn dev

Start the πŸ“± landing page:

(Optional, doesn't need anything else to run)

At the root of the project, you can run

$ yarn web:dev

or

$ cd packages/web
$ yarn dev

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 5