Skip to content
This repository was archived by the owner on Jan 9, 2023. It is now read-only.
This repository was archived by the owner on Jan 9, 2023. It is now read-only.

Components specs #1

Description

@fox1t

Here are listed must-have components. The list will be expanded and improved over time. If a component depends on a 3rd party component, it must be wrapped it in a way that it could be replaced with no effort, if we want to change that dependency in the future: we need to expose our public API. Some dependency are still missing because we need to test some libraries before deciding.

Components we need:

  • Table based on react-table bundlephobia (Tables #28)
    • (remote) pagination
    • injecatble behaviours
    • fuzzy search
    • (remote) searchable columns
    • (remote) sortable content
    • custom column actions
    • inline row details
    • ...
  • Form, based on Formik library bundlephobia, (Forms #32) must have:
    • form builder: outputs a jsonschema, including validation and field types
    • auto building forms from a jsonschema
    • auto validating on predefined input types; function on custom input types
    • Rich text editor: (Rich Text Editor #29)
      • TinyMCE bundlephobia (we need also to add globally tinymce.min.js that is another 452KB, but we can cache it in an aggressive way): we have to check if the license is compatible with a MIT licensed opensource project
  • Loader based on react-spinners bundlephobia
  • Viewer:
  • Alerts and Confirmations based on [missing] (Alert #30)
  • Video Player based on [missing] (Video Player #31)
  • Toaster based on react-toastify bundlephobia
  • Uploader
    • custom upload component
    • opt-in end-to-end encryption
  • File manager
    • custom file manager
    • opt-in end-to-end encryption
  • Chat
    • web-socket based (I'll really want to exclude socket.io from the equation, if possible)
    • end-to-end encrypted

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions