Forked from Joystream/joystream https://github.com/Joystream/joystream

Leszek Wiesner ba5cc9ecab Rename to withOnlyAccounts for consitency 4 yıl önce
.github fac6a02f37 Update checkout with token 5 yıl önce
.storybook cd49090f3f Merge branch 'alex-storybook' of https://github.com/siman/joystream-apps into siman-alex-storybook 5 yıl önce
img 04754823f9 Added new repo cover 5 yıl önce
packages ba5cc9ecab Rename to withOnlyAccounts for consitency 4 yıl önce
scripts 0e2265ff70 Some initial pre-eslint cleanups (#1383) 5 yıl önce
src 78e908117c integrate with ipfs backend storage 5 yıl önce
test 0e2265ff70 Some initial pre-eslint cleanups (#1383) 5 yıl önce
.123trigger 4fc5d14f5a Update .123trigger 5 yıl önce
.babelrc.js 078e2e431a Support enumerable accounts (#102) 6 yıl önce
.codeclimate.yml 4f96fc0d3f Merge next into master (#529) 6 yıl önce
.dockerignore 17f6dd6083 Add .dockerignore 6 yıl önce
.editorconfig d85ce9c263 Initial commit 7 yıl önce
.eslintignore 2a4d761e0f Added parser to extract i18n strings (#1710) 5 yıl önce
.eslintrc.js b4a5a47b39 Bump dev deps (#1755) 5 yıl önce
.gitignore cd49090f3f Merge branch 'alex-storybook' of https://github.com/siman/joystream-apps into siman-alex-storybook 5 yıl önce
.gitlab-ci.yml 7707e2df1c Fix container build (#1456) 5 yıl önce
.npmignore d85ce9c263 Initial commit 7 yıl önce
.nvmrc 4f96fc0d3f Merge next into master (#529) 6 yıl önce
.travis.yml 0629f8c2bf Merge branch 'master' into joystream-update-upstream 5 yıl önce
.yarnclean 069247f54a update dependency to local ui-app from joy-* packages 5 yıl önce
BOUNTIES.md 63944662a1 Additional requests for working on bounties (#1704) 5 yıl önce
CHANGELOG.md 2e7f28a625 0.36 (#1762) 5 yıl önce
CONTRIBUTING.md 449310e0c9 Don't pass UI_MODE/UI_THEME via env (#769) 6 yıl önce
Dockerfile 535232457f Initial commit of kubernetes deployment (#616) 6 yıl önce
LICENSE 4f96fc0d3f Merge next into master (#529) 6 yıl önce
README.md 26025983ab Merge pull request #310 from Joystream/joystream-next 5 yıl önce
babel.config.js 4e1ec6da1a fix storybook 5 yıl önce
deployment.extras.yml 75d901136f CI: add file for substrate-ui and substrate-ui-light domains (#767) 6 yıl önce
deployment.template.yml 535232457f Initial commit of kubernetes deployment (#616) 6 yıl önce
gh-pages-refresh.sh 75b519151b Collapse sidebar (#700) 6 yıl önce
i18next-scanner.config.js 2a4d761e0f Added parser to extract i18n strings (#1710) 5 yıl önce
jest.config.js 0e2265ff70 Some initial pre-eslint cleanups (#1383) 5 yıl önce
lerna.json f784e53e02 [CI Skip] 0.37.0-beta.63 5 yıl önce
package.json 20f63d88a8 Add Loading, Error and ProposalFromId Components 4 yıl önce
postcss.config.js 6753dc0ad2 Use @babel 7 (#52) 6 yıl önce
tsconfig.json ab3b6ff5bc re-introduce storage roles app 5 yıl önce
tsfmt.json 1eaa9a0227 tslint 5 yıl önce
types.json a8ed300dc4 Small init changes (static state) (#663) 6 yıl önce
yarn.lock 20f63d88a8 Add Loading, Error and ProposalFromId Components 4 yıl önce

README.md

Content Directory

A Portal into the Joystream network. Provides a view and interaction layer from a browser.

This can be accessed as a hosted application via https://testnet.joystream.org/acropolis/pioneer.

overview

The repo is split into a number of packages, each representing an application. These are -

  • apps This is the main entry point. It handles the selection sidebar and routing to the specific application being displayed.
  • app-accounts A basic account management app.
  • app-address-book A basic address management app.
  • app-explorer A simple block explorer. It only shows the most recent blocks, updating as they become available.
  • app-extrinsics Submission of extrinsics to a node.
  • app-js An online code editor with @polkadot-js/api access to the currently connected node.
  • app-settings A basic settings management app, allowing choice of language, node to connect to, and theme
  • app-staking A basic staking management app, allowing staking and nominations.
  • app-storage A simple node storage query application. Multiple queries can be queued and updates as new values become available.
  • app-toolbox Submission of raw data to RPC endpoints and utility hashing functions.
  • app-transfer A basic account management app, allowing transfer of Units/DOTs between accounts.

In addition the following libraries are also included in the repo. These are to be moved to the @polkadot/ui repository once it reaches a base level of stability and usability. (At this point with the framework being tested on the apps above, it makes development easier having it close)

  • react-components A reactive (using RxJS) application framework with a number of useful shared components.
  • react-signer Signer implementation for apps.
  • react-query Base components that use the RxJS Observable APIs

development

Contributions are welcome!

To start off, this repo (along with others in the @polkadot family) uses yarn workspaces to organise the code. As such, after cloning dependencies should be installed via yarn, not via npm, the latter will result in broken dependencies.

To get started -

  1. Clone the repo locally, via git clone https://github.com/joystream/apps <optional local path>
  2. Ensure that you have a recent LTS version of Node.js, for development purposes Node >=10.13.0 is recommended.
  3. Ensure that you have a recent version of Yarn, for development purposes Yarn >=1.10.1 is required.
  4. Install the dependencies by running yarn
  5. Ready! Now you can launch the UI (assuming you have a local Polkadot Node running), via yarn run start
  6. Access the UI via http://localhost:3000

Storybook

There is a StoryBook implementation, the UI for which can be started with yarn storybook and then accessed in a browser via http://localhost:3001 (and the server will open a new browser tab by default when it starts).

Story code can be placed anywhere in the packages directory, and will be detected as long as the file name ends in `.stories.tsx. Stories should be defined in the Component Story Format (CSF) for consistency.

There are several StoryBook addons available, the most useful of which is Knobs, which allows props to be altered in real time.

Note that currently StoryBook only allows for stateless components; it has no connection to polkadot.js or any Substrate node. This means that existing components, which are often tightly coupled with the Polkadot API, cannot be used in storybook.