Git Product home page Git Product logo

bitshares-community-ui's Introduction

bitshares-community-ui (Worker Part 1/2 ended)

[Worker Proposal] Light and 100% Responsive, BitShares Community DEX/UI - based on Vue.js Framework

Demo is available!

Source ai/design

All updates on this worker/repository will be maintained through GitHub.

Worker P1 details can be found here.

bitshares-community-ui (Worker Part 2/2 COMING SOON)

Development guide docs/dev-guide

Team

Roles (described below) GitHub Account
General Manager (Milos Preocanin) dls-cipher

Rest of the team will be announced with upcoming worker proposal (Part 2)

NOTICE

Various positions will be hired* and initially offered to the professionals within BitShares ecosystem, and developers interested to join our ecosystem.

*For submissions please contact Worker Manager by Telegram (@murda_ra) or by discussion thread here

bitshares-community-ui's People

Contributors

dls-cipher avatar hisinbox avatar keegan-lee avatar lapinlapin avatar mindfulme avatar ololokiras avatar plapinp17 avatar roma219 avatar youaresofunny avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bitshares-community-ui's Issues

Card UI component

This is the UI component that is gonna be used as a container for all dashboard items.

  • Should receive content throught <slot>
  • Should receive title as a prop
  • For styles refer to zeplin screens, use/create tailwind classes for paddings/text/colors

Login/signup desktop pop-up window

Problem: currently most of the bitshares users are confused which account type / security method to choose
Goal: create a user-friendly UI to make it easy to utilize all signup/login methods available at bitshares:

  • cloud account with password
  • wallet account with backup phrase
  • wallet account with key file

Signup component UI

Use Login.vue for examples

  • Should have two forms (password/private key) (see zeplin) with tabs switch
  • Should be able to copy generated password from the input field to clipboard
  • Should have validations: all fields are required, passwords/pins should match, account name shouldn't be used on bitshares

Input component

Use Components/Input.vue

Should receive props & display accordingly:

  1. :value - [String] input value
  2. :disabled - [Boolean] if input is disabled
  3. :icon - [String] if it has icon displayed on the left side
  4. :title - [String] input title
  5. :type - [String] text/number - type of input

Should $emit 'input' event on change

Basic Portfolio Markup

Portfolio is a widget that should display a basic table with asset names and token amount information. Take into account that additional columns will be added in future. Create Portfolio and PortfolioItem components. This task is for markup only. Portfolio card should be placed in the Dashboard component. Use mock data for display.

New Order creation desktop window design

Cornerstone element of the entire UI. Tool to create orders, both simple to use and powerful to tune order details: market or limit price orders, manual or percentage input of order volume, automatically calculates USD equivalent price and total value.

Icons

We need a pack of svg icons you use in mockups either in zeplin project or uploaded somewhere

Dev branch

Guys, what do you think if we got another branch for current development works (dev) that could be supervised by me and @youaresofunny, as we gonna accept PRs into it with work for current issues. And that dev branch would be merged into staging once every other week or so (aka our internal release) with your reviews? Basically we gonna ship PRs to staging in a batch. I think that would be convenient for everybody involved.

Authentication question

Should we make an app blocked from unauthorized user? So basically the user is redirected to login page if he is not authorized. Or the user always has access to main dashboard, and authorization provides additional features to him

Basic Login to Bitshares

Basic Login to Bitshares

  • prevent unauthorized access
  • validate account name
  • validate fields: both required & show errors

image

Mobile footer

  • Should be locked to bottom on small screen width - use tailwind
  • Should generate bottom buttons dynamically from an array
  • Should emit an event on button click

See Zeplin for design

Dev guide

Create documentation guide for developers, which covers dev process, project structure, used libraries, common practices

Markets monitor UI

Provide a user-friendly interface to track markets performance stats in minimised and expanded views

Button component

Use Components/Button.vue

  • Styling - use tailwind classes

  • Should receive props & display accordingly:

    1. :text - [String] button text
    2. :disabled - [Boolean] if button disabled or not
    3. :loading - [Boolean] if button has a loading state -> display some css loader inside (make loader a component as well)
    4. :size= - [String] optional, "normal" - default, "small" - smaller
    5. :width - [String] optional, "full" -> 100% width
    6. :type - [String] optional, "round" should make the button round
  • Should $emit 'click' event on click

  • Should have Styleguidist Button doc with examples

  • Covered by jest unit-tests

Sass variables

Setup sass variables files for commonly used styles (colors, fonts, paddings), light/dark themes should be available.

Transactions Widget

  • Card on a Dashboard
  • Display user's recent transactions
  • Should be scrollable

Keyfile loader components

Should look like this:
image

  • Can be used as a drag'n'drop container for a file or as a file select button
  • Should read a file
  • Should display a filename with extension after reading
  • Should emit 'select' event with file as a param
  • When file is selected should be able to select another file/remove existing

Lock/Unlock Wallet

  • Component should be placed in Header
  • Should display locked/unlocked status (vuex getters will be provided)
  • If it is locked - on click should display a small popup with input field for password and "Unlock" Button
  1. Dispatch action to unlock wallet by clicking the "Unlock" Button and show notification with success/error (vuex action for this will be provided later)

Tabs Component

Up to the 4 optional tabs

  • Should recieve props:
  1. :titles - [Array] array of string, tab titles
  2. :active - [String] optional, which tab should be active when component is rendered
  • Should display tab titles as a top row with selected tab highlighted
  • Should have <slot>'s for tabs content
  • Should display only tab content of the selected tab

UPD
For styling:

  • For colors (border, text color) use/create tailwind.css color variables in 'tailwind.js.' file in the root folder

BitShares Connection Indicator

Create BitShares connection indicator component. Should look like small green circle when connected to bitshares, red when disconnected. Place it in the Main.vue component

Base Layout

That has Header, Body and Footer @ all with tailwindcss classes

Backup Brainkey

A modal that is displayed to backup user's brainkey
Detailed descripion and vuex actions/getters will be provided later

Initialize BitShares connection

Initialize bitshares connection

Use vuex-bitshares "Connection" module for it. Create init action in theapp vuex module, that should dispatch connection action.

Authentication

Using keyfile/brainkey

Use vuex-bitshares for this, see trusty-vue-ui for example auth.

Setup CI/CD

We'll need ability to deploy to staging and production, as well as separate branch deploys.

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.