Skip to content

Sideproject: Start of Atlas #378

@bedeho

Description

@bedeho

Background

Pioneer

#176

Atlas

Atlas is a new product we will start development on soon. It is also going to be a web application, but the main use case of Atlas will be to focus on a pure content consumer experience.
Unlike Pioneer up to this point, the goal is to build Atlas inspired by user objectives, however, we are still in the process of organizing and planning this effort.

Project Goal

The goal of this project is to extract the consumer user experience from the existing Pioneer code base, into a new standalone codebase that can evolve into Atlas.
By consumer experience, it is meant

  • browsing and exploring
  • viewing individual videoes
  • viewing channels

This functionality has already been implemented in Pioneer as of the Rome release.

Requirements

  • Must start in a new repo, hosted on our Github org.

  • CI which runs tests, linters and deployment.

  • Introduce proper application and UI state management using Redux. Atlas will become a very large and complex application, so favor using the full set of Redux tools (e.g. actions, reselect, saga, observable, normalizr) to encourage good conventions, readability, etc.

  • Only make pure React components.

  • Same as Pioneer:

    • basic key management and backend data source.

    • UI/UX.

    • core tech stack: typescript, react, etc. However, no need to use Polkadotjs in the same way, or at all.

  • Introduce modern tooling and conventions for testing: both component rendering and business logic must be testable.

  • Introduce modern tooling for developing:

    • hotloading

    • be able to run with fully mocked data sources/local storage.

    • Storybook for exploring components.

  • Introduce modern tooling for deploying.

  • Setup for internationalization.

  • Works with Rome testnet (soon to be released)

  • Organize the codebase into a set of assets, packages, and libraries which make it easy to reuse work in other similar applications.

  • Establish and writeup clear coding and architectural guidelines that prospective contributors can review or be directed towards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions