Giter VIP home page Giter VIP logo

index-ui's Introduction

Index UI

License

Index UI is a simple front-end used to interact with Index. This front-end describes Index and consolidates relevant links to onboard users onto the protocol's basic functionalities. It also allows users to stake, unstake, and claim INDEX tokens during the initial distribution + liquidity mining phase of the protocol's launch.

Local development

This project was created with create-react-app. Refer to their docs for advanced usage.

Prerequisites

  1. Install Node 14+
  2. Install yarn
  3. Fork this repo
  4. Clone your fork locally

Steps

  1. Make a copy of the prod env file
    cp .env.prod .env
  2. Install all the dependencies
    yarn install
  3. Start the app in development mode on localhost:3000
    yarn start
  4. Navigate to http://localhost:3000/. The changes you make locally should live-reload in the app.

Testing

Unit tests

Run unit tests in watch mode

yarn test

Run E2E Tests with Cypress

To run e2e test with Cypress, first you must serve a local instance

yarn start

Once that is served, in another terminal, navigate to the repo and run

yarn run e2e

This will kick off Cypress to run headlessly.

Writing and Debugging Cypress Tests

If you wish to write a test, or debug yours, you can do so with the help of the Cypress tool by running

yarn run cypress:open

This will allow you to see and select items on page, more easily obtaining their IDs, selectors, etc. More information on this can be found on the Cypress docs

Helpful Commands

Build the app for production in the build folder.

yarn build

Eject the app from create-react-app rails.

yarn eject

This project uses browserslist. We need to regularly update browser data via

npx browserslist --update-db

Contributing

The main purpose of this repository is to continually serve the needs of Index, making it faster, simpler, and easier to use. As new proposals are submitted and the scope of Index's governance evolves, we anticipate this tool will change as well.

We greatly encourage any community contribution that may help Index reach more users and promote greater adoption, so be sure to check out our Contribution Guidelines for ways to get involved with our project.

Style Guide

Absolute imports

Prefer absolute imports over relative imports because this is a loose codebase convention. Refer to Configuring React Absolute Imports For TypeScript if your editor isn't picking up absolute imports.

// Good
import Page from 'components/Page'

// Bad
import Page from '../../components/Page'

Import ordering

Order library imports at the top of the file, then a newline separator, then imports for exported members that are defined in this package.

// Good
import React, { useEffect } from 'react'
import { Container, Spacer } from 'react-neu'

import Page from 'components/Page'
import Explanation from 'components/Explanation'
// Bad
import React, { useEffect } from 'react'
import Page from 'components/Page'
import { Container, Spacer } from 'react-neu'
import Explanation from 'components/Explanation'

License

Index UI is MIT licensed.

index-ui's People

Contributors

0xmodene avatar controtie avatar dependabot[bot] avatar tytarman avatar rootulp avatar ncitron avatar janndriessen avatar theodorechuang avatar willhamilton24 avatar dondaryl avatar inje avatar justinkchen avatar boda805 avatar ripples3 avatar jierlich avatar dalberto avatar gamma58 avatar pouta avatar ztcrypto avatar devondefi avatar jasonrsadler avatar julianar97 avatar kibagateaux avatar mridul7ahuja avatar pietro-g avatar omnifient 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.