Bankless Academy

Project Specifications

Tech Stack

Bootstrapped with

Configured with

Tools

  • POAP Subgraph to get the number of POAP claimed
  • Moralis to track onchain transactions (not used yet)

Local Development

yarn dev

Database

Currently only POAP codes are stored in a PostgreSQL database.

Database setup is not required in order to run the app.

Setup

Setup and connection to database are done via Knex.js.

Config

Ask @didierkrux for the configs to add to your .env.local file (see .env.example).

Migrations

Migration files: https://github.com/BanklessDAO/bankless-academy/tree/main/migrations

# Install Migration CLI
yarn global add knex
# Migrate to latest
knex migrate:latest
# Rollback the last batch of migrations
knex migrate:rollback

Tracking

Umami

Documentation + data tracked: https://www.notion.so/bankless/Analytics-with-Umami-4f867b3c808e483790db7db617cc51b6

Hotjar

Heatmap recording via hotjar.com

How to import content from Notion

Where to update the content

https://www.notion.so/bankless/1dd77eb6ed4147f6bdfd6f23a30baa46

Defaut content import command

yarn import-content

Import content with a specific Notion ID

yarn import-content 1dd77eb6ed4147f6bdfd6f23a30baa46

How does it work

The import script connects to a custom unofficial Notion API called Potion https://github.com/didierkrux/potion and transforms the content into this Object.

How to import keywords definitions from Notion

Note: import keywords before importing content.

Where to update the keywords

https://www.notion.so/bankless/623e965e4f10456094d17aa94ec37105

Defaut keywords import command

yarn import-keywords

Import keywords with a specific Notion ID

yarn import-keywords 623e965e4f10456094d17aa94ec37105

How to import POAP codes into the database

If your POAP event id is 6454, rename links.txt to 6454.txt, move it into the /poaps/ folder, then run the following command to automatically import all the *.txt files:

yarn import-poaps

How to get started for devs

  • Get familiar with the project
  • Check open issues and assign yourself
  • Create and submit a PR
  • Assign @didierkrux as reviewers