Skip to content

Latest commit

 

History

History
124 lines (92 loc) · 4.98 KB

README.md

File metadata and controls

124 lines (92 loc) · 4.98 KB

D.Buzz Account Creation Portal

This project is a web portal to help users create and manage accounts on D.Buzz, a decentralized social media platform built on top of the Hive blockchain.

Pull Requests Welcome

About This Project 👋

This repository contains all the frontend and backend code used to run Join.D.Buzz, a simple DApp for onboarding new users to Hive from DBuzz.

Key Features

  • Create new Hive account
  • Securely back up private keys
  • Associate referral code
  • Firebase backend integrations

Tech Stack

Frontend

  • React
  • React Router
  • TailwindCSS

Backend

  • Firebase (Auth, Firestore, Functions, Analytics)
  • Hive Blockchain JS

Installation & Setup ⚙

  • Clone the repository
> git clone https://github.com/d-buzz/d.buzz-signup-app.git
  • Install dependencies for the client app
> cd join.d.buzz
> yarn install
  • If you don't have Firebase CLI installed, please install it
> npm install -g firebase-tools

Login to your Firebase using your Google account

> firebase login

Client Setup ⚙

  • Go to Firebase console -> Create new project

  • Go to Firebase project -> Add a new Web app and then follow the instructions

  • Put in your config from your new Web app into /config/firebase.json file, just copy and paste the values.

  • Put in your preferred whitelisted domains into /config/whitelist.json.

  • Put in your project ID into .firebaserc, you can find your project ID from the project settings.

  • Then goto Firestore Database and initialize a new database, choose any region you prefer.

  • Then goto -> Authentication -> Sign-in method -> Add new provider -> then enable Phone.

  • Finally, put in required variables into a new file .env, copy the values from .env.example

Backend Setup ⚙

  • Put in your preferred HIVE configurations into a new file /functions/config.json, copy the values from /functions/config.example.json

Build & Deploy ⚙

  • Build the app for production
> yarn build
  • Deploy the client and backend to Firebase
> firebase deploy

Run the app for development 🚀

> yarn start

Dependencies (frontend) 🤖

  • @hiveio/hive-js: Hive.js the JavaScript API for Hive blockchain
  • @testing-library/jest-dom: Custom jest matchers to test the state of the DOM
  • @testing-library/react: Simple and complete React DOM testing utilities that encourage good testing practices.
  • @testing-library/user-event: Simulate user events for react-testing-library
  • clsx: A tiny (229B) utility for constructing className strings conditionally.
  • firebase: Firebase JavaScript library for web and Node.js
  • formik: Forms in React, without tears
  • lodash: Lodash modular utilities.
  • react: React is a JavaScript library for building user interfaces.
  • react-dom: React package for working with the DOM.
  • react-router-dom: DOM bindings for React Router
  • react-scripts: Configuration and scripts for Create React App.
  • reactfire: Firebase library for React
  • yup: Dead simple Object schema validation
  • party-js: A JavaScript library to brighten up your user's site experience with visual effects
  • axios: Promise based HTTP client for the browser and node.js
  • react-device-detect: Detect device, and render view according to the detected device type
  • file-saver: An HTML5 saveAs() FileSaver implementation

Dependencies (backend) 🤖

Credits 🎉

Backend code for Functions is forked from hiveonboard open source project managed by @christianfuerst

Contributions 🧪

You can check opened issues and contribute to this project by creating a pull request

If you have questions or comments, please create an issue or message us on chat.d.buzz