🎨 The Front End that supports the MyBit Platform™
MyBit offers a fast, secure and cost-effective investing experience. Powered by Ethereum.
The MyBit Decentralized Application (DApp) enables anyone to invest directly in revenue generating assets.
0.0.1.alpha Note, this is an Alpha version which may not be well tested. Features in this version are not final.
- The Assets Funding Hub Contract Interface via web3
- ETH and MYB Account data view
- The Assets Portfolio and Revenue Contract Explorer
- IPFS (A peer-to-peer hypermedia protocol) testflight
Please create a .env
file in the root of the project. See here about environment variables.
Some of these env. variables are required, some aren't. Please read through each of them to understand what to do.
-
REACT_APP_CIVIC_APP_ID | CIVIC_PRIVATE_KEY | CIVIC_APP_SECRET Not required but civic won't work in a development environment, only once your PR is deployed to our server. Fortunately civic's API is good so you can use the current implementation anywhere you need it and trust it will work. Meanwhile Civic is disabled in dev.
-
REACT_APP_INFURA_API_KEY (Prefix
REACT_
so it can be used in react code) Free to generate at infura's website. Required. -
BUCKET_REGION | AWS_ACCESS_KEY | BUCKET_NAME | AWS_SECRET_KEY Currently the application won't work without these.
-
AIRTABLE_KEY Create a free account at airtable and copy our table, then use your own API key. Required.
The application is built around a series of Contexts (See React Context) in conjunction with HOCs to provide different data to different components across the appliacation.
The following Contexts are available:
So if you need any of the information inside these contexts you can use the with
high order component each of them provides.
As said previously we use Styled Components but we also use a set of standards and a way to style inside the application. You will notice some of our files don't yet follow these standards, refactoring is gradually being done, these decisions were made recently.
We use Styled Components Theme Provider component to have access to our own theme properties. See this file with the declaration and an example of using it here.
Each styled component is ideally declared inside its own file and for this reason the name of that file, say you are customising a button and your component is call Navbar
then this new styled component file would be named navBarButton.js
. So you keep the name of the Main component attached to each styled component file used inside it.
In this case the main styled component Navbar
could be declared in a different file using navBarWrapper.js
and then used inside /NavBar/index.js
like so: ´´.
So the folder structure would be:
NavBar/index.js
NavBar/navBarWrapper.js
NavBar/navBarButton.js
index.js:
<NavBarWrapper>
<NavBarButton>
Hello
</NavBarButton>
</NavBarWrapper>
We use a mobile first approach. See more about it here.
See this document as a good reference on thinking in Styled Components.
Using babel.
The following folders are available from anywhere (but /server
):
- static
- components
- constants
- utils
- ui
MyBit Go follows user-centered design and documentation. For User Flow docs check this page.
Installing the dependencies with yarn
yarn install
yarn dev
yarn build
yarn now-start
MyBit Platform™ CHE-177.186.963