Giter Club home page Giter Club logo

dashboard-creator's People

Contributors

stanozr avatar thhomas avatar

Stargazers

 avatar

Watchers

 avatar  avatar

dashboard-creator's Issues

parse DATA concept

  • parse DATA operation when operand is an attribute
  • parse DATA operation when operand is a SDMX URL
  • parse DATA with multiple SDMX URL

Dashboards management

On home page:

  • Add links to view/download YAML
  • Add link to remove dashboards by either:
    • delete YAML from local uploads
    • delete gists

Component with unique Value font/layout improvement

Allow to specify font type, size, emphasis (bold, italics, etc.) and location (LEFT, CENTER, RIGHT) in square-brackets ([]) following the VALUE chartType in order to override the default font. (e.g. VALUE, [Arial, 32, Bold, CENTER]).

Title and Subtitle parser

Title and subtitles to be parsed according to ToR

  • Clean up title
  • Add style for TITLE and FOOTER (Bootstrap CSS)
  • Add style for Highcharts components
  • Parse concepts

Style
Font type, size, emphasis (bold, italics, etc.) and location (LEFT, CENTER, RIGHT) can be specified in square-brackets ([]) following any text, title, note or label specification.

Example: Title: "Labour force participation rate, [Arial, 14, Bold, Italics, CENTER]”

Concepts
Inside a string or in a data operation, concepts’ values can be referenced by specifying them in curly brackets ({}).

  • If the concept id is prefixed by a dollar sign $, the name of the represented item is to be returned instead
    i.e. while {<concept_Id>} returns the content of <concept_id> dimension or attribute, {$<concept_Id>} returns the name of the item corresponding to the content of the dimension or attribute represented by <concept_Id> (e.g. {SEX} = M, {$SEX} = Male).
  • {$TIME_PERIOD} is always displayed as the period expressed in natural language.
    (e.g., {TIME_PERIOD} = 2020-M05, {$TIME_PERIOD} = May 2020, or Mayo 2020 if locale=es).

Write user guide

_The product will be delivered in a GIT repository containing the source code and descriptive documentation.

It must include a user’s guide in English with enough information to deploy and run the submitted application files_

Decoupling web architecture

In order to be able to integrate dashboards in web pages in any website (which is the final goal really), we need to decouple the application, meaning separate the front-end and back-end in 2 separate projects.

Backend
NextJS will still be handling the config file uploads and management, and provide API end point to serve those files to the front end.
You will still be able to access a dashboard by going to https://<host>/chart/<dashID>

Frontend
This will now be a pure ReactJS project and only display the dashboard itself.

A few key points to keep in mind for the React app

  • Root component will be passed on the URL to the config file to load it
  • The navigation menu will be removed as it will make no sense once integrated in a web page
  • We wil add CSS classes to components so style can be defined on the host website CSS

We also need to document how to style highcharts charts to match host website.

Does this make sense?
Am I missing anything?

ToR #3: Multilingual

Dashboard Generator will handle the multilingual capacities of SDMX for the data and
metadata displayed, not for the application configuration or dashboard settings which will be in
English. The language should be set as a context variable for the application displaying the dashboard
and all labels and texts must be displayed in such language, provided the locale is available for the API
consumed. Otherwise, it will default to a configurable language.

So, if we have time:

  • Add default language as environment variable
  • Add parameter in URL to use specific language

Revise layout and general navigation

@thhomas je ne suis pas très content du design général et de la navigation que j'ai mis en place, je pense que je vais simplifier.

  • Au lieu d'utiliser une slidebar je pense utiliser le composant offcanvas de bootstrap, ce qui permettera de vraiment focaliser l'attention des utilisateurs sur le dashboard en lui-même.
  • Supprimer la navbar du haut, mais conserver le bouton (hamburger icon?) pour ouvrir le offcanvas
  • Déplacer l'upload dans une page spécifique
  • Dans le offcanvas afficher:
    • Un logo/titre pour le dashboard creator (lien vers la page d'accueil)
    • La liste des dashboards disponibles
    • Un lien vers la page d'upload
  • Revoir la page d'accueil, affichant:
    • Informations générales, lien vers la doc, etc.
    • Liste des dashboards
    • Lien vers la page d'upload

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.