Giter Club home page Giter Club logo

scaffold-directory's Introduction

πŸƒβ€β™€οΈ 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 [email protected]: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

scaffold-directory's People

Contributors

carletex avatar austintgriffith avatar dgrcode avatar tomafrench avatar asgeir-s avatar calvbore avatar azf20 avatar codenamejason avatar 0xsama avatar btogzhan2000 avatar changoman avatar jacobwillemsma avatar forshtat avatar j2r5m3 avatar pankaj512 avatar ironsoul0 avatar aspiers avatar 0xgabi avatar j-priebe avatar philippzentner avatar ro5s avatar tomafc330 avatar xalava avatar xjjda22 avatar thesuperb1 avatar

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.