## Getting Started After cloning the repo, run: ```bash $ 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: ```bash $ yarn build ``` To run tests (Currently WIP) run: ```bash $ yarn test ``` ## 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 in `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](https://www.linode.com/docs/platform/object-storage/how-to-use-object-storage/#s3cmd). 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.