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

Klaudiusz Dembler a206c79137 channel view tweaks 4 роки тому
packages a206c79137 channel view tweaks 4 роки тому
.eslintignore 305d3435b0 Add Tests And CodeCov 4 роки тому
.eslintrc.js c60b94fff0 add discover screen, fix some apollo client issues 4 роки тому
.gitignore 958772fb0f Merge branch 'init_atlas' into atlas-components-merge 4 роки тому
.huskyrc 305d3435b0 Add Tests And CodeCov 4 роки тому
.prettierignore c60b94fff0 add discover screen, fix some apollo client issues 4 роки тому
.prettierrc.js 5383e74f61 fix prettier issues 4 роки тому
README.md f11b0c2783 save generated files directly in the codebase, update README 4 роки тому
lerna.json 5383e74f61 fix prettier issues 4 роки тому
package.json 4c1e432155 Create ToggleButton And Add Animation To ChannelPreview 4 роки тому
tsconfig.json 5383e74f61 fix prettier issues 4 роки тому
yarn.lock 38f564df49 Merge pull request #1456 from Gamaranto/grid-element 4 роки тому

README.md

Getting Started

After cloning the repo, run:

$ cd atlas
$ yarn install
$ yarn start

To start the app on localhost:3000, Storybook on localhost:6006 and the bundler in watch mode.

To build the app for distribution, run:

$ yarn build

To run tests (Currently WIP) run:

$ yarn test

Packages

This repo is managed with yarn workspaces

To run a command in a workspace:

$ yarn workspace YOUR_WORKSPACE_NAME YOUR_COMMAND

For example, to add react-spring to atlas-app:

$ yarn workspace atlas-app add react-spring

App package

The app package is located under ./packages/app and is where the actual Atlas application lives. Business logic, full pages and data fetching should all reside here.

Shared folder

Historically, Atlas codebase was split between two packages - app and @joystream/components. Due to build process and developer experience issues it was decided to merge those packages into one until the separation is actually needed. Hence the shared directory under app/src. This folder is what used to be @joystream/components and it's intended to be application-agnostic. That means no Atlas-specific logic (like routing) should be put there, only atomic UI components.

Deploy Previews

Each PR has deploy previews for both for Storybook and for the App on Chromia and Netlify respectively.

Mocking

Mocked dataset

All the raw mocked data presented in Atlas can be found in src/mocking/data/raw. These JSON files are then parsed and returned by MirageJS on GraphQL requests.

The raw data can be generated by using included scripts (when inside packages/app):

  • yarn mocking:videos
  • yarn mocking:channels
  • yarn mocking:videosMedia - this creates the metadata for provided video files. To do so, all the video files have to be placed inside scripts/mocking/videos.

The scripts will generate new data and automatically place it inside the codebase.

Mocked assets

Mocked assets for Atlas are hosted on the Linode object storage provided by Jsgenesis.

The storage is S3-compatible and can be accessed with any S3 client. The endpoint is eu-central-1.linodeobjects.com and a generated keypair must be used to access it.

Example on how to configure s3cmd client for access can be found here.

When inside a directory with all the assets, you can run s3cmd sync --acl-public . s3://atlas-assets to sync your local directory with the remote storage.