andy3520 / scaffold-directory

speedrunethereum.com πŸš™πŸ’¨

Home Page:https://speedrunethereum.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸƒβ€β™€οΈ Speed Run Ethereum Netlify Status

Speed Run Ethereum aims to provide a structured learning path for onboarding developers to Ethereum.

πŸƒβ€β™€οΈEthereum Dev Speed Run with a framework for submitting challenges, get feedback from ethereum builders, and in the process unlocking new challenges and prof of completion.


Project setup

Get the project code:

git clone git@github.com:moonshotcollective/scaffold-directory.git

cd scaffold-directory

Install dependencies:

yarn install

Start the backend service:

yarn backend

In a new terminal, start the frontend:

yarn start

At this point, you should have the app available at http://localhost:3000. By default, a locale JSON file (packages/backend/local_database/local_db.json) is used as the database. This is intended for testing and demo usage. In order to set it up for production usage, we provide a Firebase database adaptor. You can also easily create your own database adapter (check packages/backend/services/db.js).


Firebase Setup (optional)

If you want to use Firebase (firestore) for data storage, you'll need to create a Firebase project and download the service account key configuration. You can generate and download the service account file at https://console.cloud.google.com/ by 1.) select your Firebase project, 2.) go to IAM & Admin > Service Accounts, 3.) create a service account or click one that is already created, 4.) go to keys of that account, and 5.) Add Key > Create key and select a JSON key type.

Then you will have to create a .env file in packages/backend/ with DATABASE_SERVICE=firebase and add the full path to the service account file in GOOGLE_APPLICATION_CREDENTIALS (see a sample here packages/backend/.env.sample).

Then re-run:

yarn backend

Usage

πŸ“± Open http://localhost:3000 to see the app

image

List all builder profiles:

image

View a builder profile:

image

Connect your ethereum wallet by clicking "Connect Ethereum Wallet" -> Sign up / Sign in by clicking the "Sign a message to Sign up.." button and signing the message:

image

This opens your profile view:

image

Submit the solution to a challenge by 1.) clicking a challenge in your profile view, 2.) complete the challenge according to the description (found by clicking the "Link to challenge"), 3.) past the URL with your solution and 4.) submit it by clicking the submit button and signing the message.

image

Admins can review challenge submissions in the "Review Challenges" tab (only visible to admins). The admin will check the check out the solution, optionally write a message to the submitter and approve or reject the submission by clicking the corresponding button and signing a message.

In order to set an admin in the local database file, add "role": "admin" to the user objects in packages/backend/local_database/local_db.json and re-run yarn backend.

image

About

speedrunethereum.com πŸš™πŸ’¨

https://speedrunethereum.com

License:MIT License


Languages

Language:JavaScript 93.6%Language:Shell 3.7%Language:Dockerfile 0.9%Language:HTML 0.6%Language:TypeScript 0.4%Language:Less 0.4%Language:Solidity 0.3%Language:CSS 0.0%