Giter VIP home page Giter VIP logo

bankless-academy's People

Contributors

0xnshuman avatar activate-glacier-instinct avatar aestechnology avatar amaredeus avatar austinfoss avatar dependabot[bot] avatar didierkrux avatar dmihal avatar geovgy avatar nateawelch avatar oktalize avatar omahs avatar raburski avatar sweetmantech avatar tgriff3433 avatar wpmonty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

bankless-academy's Issues

list user POAPS

  • get POAP list from https://api.poap.xyz/actions/scan/ETH_ADDRESS
  • create filter to only display "Bankless" POAPS for now
  • display POAP on address hover
    Screen Shot 2021-07-08 at 15 11 01

Bug with Umami tracking

It looks like server side rendering with Next.js (or something else?) is also calling the Umami API instead of just from the frontend.

How to reproduce:

-> both environments (dev and prod) seemed to be called at the same time (at least for the first rendering)
Screen Shot 2021-12-13 at 16 52 07

Umami config: https://github.com/BanklessDAO/bankless-academy/blob/main/src/pages/_app.tsx

Support for animations (animated SVG) with lottie

I've been making some research and experimentations about this tech these last weeks.
More infos on: https://lottiefiles.com/
Demo for the POAP: https://krux.co/poap.html

Designer can create super lightweight animations via Adobe After Effects, then export them in lottie format (it's just a simple .json file)
After Effects tutorial: https://www.youtube.com/watch?v=d1wDl5A9yQk

We can use this in order to have animated content and also to have a more interacted website (hover POAP, congrats for quiz, claim POAP).

This is most probably the tech behind the Coinbase earn animations slides.

claim a POAP

feature description
At the end of a quest, the user needs to claim a POAP.

Screen Shot 2021-07-26 at 18 02 55

technical details

  • create a test POAP + hardcode the claiming code in notion for now: https://potion-api.vercel.app/table?id=588737bf3969480eaade26ec1a7d9dcd
  • link the "Claim POAP" button to a backend API so we can make an on-chain verification of the quest before claiming the POAP for them
  • on-chain verification is out of scope, just add a TODO comment for now
  • make the number of POAPs claimed dynamic based on the number of POAP distributed via the API
    Screen Shot 2021-07-26 at 18 10 18

additional help

bug: desktop touch screen

using a desktop with is touchscreen is detected as a mobile device and won't show the prev/next buttons

quest view

  • create view for src/pages/quest/[slug].tsx
  • store steps in local storage
  • keyboard shortcuts (prev/next/quiz answer)
  • handle learning content types (text, video, illustration)
  • quiz type
  • quest type
  • claim POAP page
  • update step state in /quests page
    Screen Shot 2021-07-08 at 15 11 39

"Intro to DeFi" Quest: ETH testnet faucet onchain transaction verification

The Quest
Here's a recap on what to implement for the "Intro to DeFi" Quest:

  • [step 1] the user needs to switch to Kovan test ETH -> detect when he's on the rigth network + update 🟧 to βœ…
  • [step 2] the user needs to get some Kovan test ETH (let's use https://ethdrop.dev for now) -> track in the frontend when the test ETH has arrived into the user's wallet + update from 🟧 (no transaction came from 0x55555513537ec7f03a0af928bce4b200e6d677dd to his wallet) to βš™οΈ (waiting for tx confirmation) to βœ… (tx confirmed)
  • [step 3] the user needs to send back part of the test ETH he received back to https://kovan.etherscan.io/address/0x55555513537ec7f03a0af928bce4b200e6d677dd -> track in the frontend when the test ETH has left the user's wallet + update from 🟧 (no transaction sent from his wallet to 0x55555513537ec7f03a0af928bce4b200e6d677dd) to βš™οΈ (waiting for tx confirmation) to βœ… (tx confirmed)

UI sketch
Screen Shot 2021-09-03 at 18 55 21
__
Pradhumma's transaction verification demo with Moralis: https://codesandbox.io/s/transaction-verification-h2m8d?file=/src/App.js

Tracking

add analytics + screen recording

add page metadata (title + description + image) + pre-render pages

The goal is have to implement social metadata infos (title + description + image).

Get data from https://github.com/BanklessDAO/bankless-academy/blob/main/src/constants/quests.ts for the quest pages (ex: in https://app.banklessacademy.com/quest/wallet-basics):

  • title = quest.name
  • description = quest.description
  • image = quest.questImageLink

Use these default (add to a constant var in https://github.com/BanklessDAO/bankless-academy/blob/main/src/constants/index.ts) info for all the other pages:

  • title = Bankless Academy
  • description = Your educational platform to become a Bankless Jedi
  • image = https://banklessacademy.com/bankless_academy_image_meta_v3.png

Use Static Generation pre-rendering: https://nextjs.org/docs/basic-features/pages#static-generation-recommended

faucet

feature description

  • add a faucet button in the Aave quest that points to a backend API
  • check in the backend that the wallet address has a wallet quest POAP by checking with https://api.poap.xyz/actions/scan/0xBD19a3F0A9CaCE18513A1e2863d648D13975CB30 and filtering with poapEventId (id is 4652)
  • if the previous condition is meet & his wallet balance is low (<0.1 ETH for example), send some Kovan test ETH to that address
  • ideally show feedback state in the frontend (waiting for transaction confirmation / transaction done)

comments

The first quest POAP (wallet quest) is going to act as a Sybil attack mechanism if we already check the wallet signature + twitter link verification. We can add a reCAPTCHA feature in the future to increase protection.

quiz rating

we have a list of potential quizzes and would like to know which ones are the most relevant

improve & clean UI

  • Improve the quest overview modal in QuestCards.tsx
    Screen Shot 2021-07-18 at 23 04 53
  • [TEMP] remove multi language
  • [TEMP] remove dark mode for now + force light mode
  • improve learning content display
  • improve quiz answer display
  • [TEMP] hide quest + about pages
  • improve UI for quest difficulty

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.