Repository navigation
Technology and Frameworks
React (v17) is the view part of the front-end applications with a component-based architecture.
TypeScript is an open-source programming language. It is a syntactic superset of JavaScript and adds optional static typing to the language. It’s designed for the development of large and robust applications and compiles to JavaScript so the final code can be run in any browser.
It sets up your development environment so that you can use the latest JavaScript features, provides a nice developer experience, and optimizes your app for production
A Predictable State Container for JS Apps. Redux helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test.
It's a simple and customizable component library to build faster, beautiful, and more accessible React applications. Follow your own design system, or start with Material Design
Mapbox GL JS is a JavaScript library for interactive, customizable vector maps on the web. It takes map styles that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using WebGL.
Jest is a delightful JavaScript Testing Framework to run unit tests.
Cypress is a testing tool to run integration tests.
This library is used to generate the application screenshots. The downloadHtmlElement.ts file contains the function downloadHtmlElement where html-to-image is used to generate a PNG image from a DOM node. In order to filter some DOM nodes from the generated screenshot, you can add a class to the filtered node and pass this class in exclusionClasses in the options of the function (for more information check filter option from the html-to-image library). The library computes the style for the node and each sub-node and copy it to corresponding clone, for this reason it is important for the screenshot to be careful with the scrolls as they would appear as they do in the image.
This library provides an easy way to add Google Analytics (GA) tracking to the application. It allows to track user interactions, page views, and other events, providing valuable insights into user behavior and app performance. A sendAnalytics function is used in the project to handle analytics data based on its type.
Other libraries used in this project are:
- redux-observable
- reselect
- styled-components
- axios
- fluture
- highcharts
- lodash
- prettier
- prettify
- react-i18next