Skip to content

Credbull main repository. Includes our EVM smart contracts, services and tests.

License

Notifications You must be signed in to change notification settings

credbull/credbull-defi

Repository files navigation

Credbull Logo

Credbull DeFI (credbull-defi)


contracts api app sdk ops

Project Structure

  • packages/ Individual sub-projects

    • api/ Our backend API Server (NestJS)
    • app/ Our frontend app (NextJS)
    • contracts/ Smart Contracts and Tests
    • ops/ Scripts for operational tasks
  • spikes/ Any POC or research we do


Setup project locally

  • If you only want to work on the contracts, you don't need to setup the whole project. Please go directly to contracts/ and follow the instructions there.

Install Pre-requisite Tools

Install dependencies

yarn install

Onetime Setup

  1. Setup environment variables in each package
    cp -n .env.sample .env
    cd packages/api && cp -n .env.sample .env && cd -
    cd packages/app && cp -n .env.local.sample .env.local && cd -
    cd packages/contracts && cp -n .env.sample .env && cd -
    cd packages/ops && cp -n .env.sample .env && cd -
    cd packages/sdk && cp -n .env.sample .env && cd -
  2. Start the database (Supabase)
    cd packages/api && supabase start && cd -
  3. Setup sdk, see sdk/README.md
  4. Setup op scripts, see operations/README.md.

Rum and Test Locally

After completing the above setup, simply run:

# test all packages
yarn test
# run all packages
yarn dev

Open the Application

open http://localhost:3000


Slack Integration

For subscribing to notifications of interest from the GitHub repository. This is covered in detail here.

TL;DR

  • Install the GitHub app within your Slack Workspace using this link.

  • Connect your Slack & GitHub accounts as per instructions (it's time-limited).

  • Setup your GitHub subscriptions as desired. For example, to receive notifications for Issue and Pull Request changes, for credbull-defi, enter the following in the GitHub app:

    /github credbull/credbull-defi unsubscribe commits releases deployments

  • Tune your notifications to taste and enjoy the plethora of information at your fingertips!