Code Monkey home page Code Monkey logo

edifice-wisemapping's Introduction

WiseMapping Frond End

WiseMapping Frond End is part of the MindMap Open Source Project. The first release of WiseMapping was in 2010 and there was not mayor update on the architecture. In 2021, a major change started with the goal to provide a visual and technology refresh of the project.

WiseMapping Front extracts all the UI related aspects in this repository. You will find three major modules:

  • Web2D: Lighway abstraction over SVG for chart renderding.
  • Mindplot: Pure vanilla ES6 classes responsible for providing mindmap rendering and edition capabilities.
  • Webapp: REACT application that encompass the whole midnmap edition experience.

Getting started

Make sure you have NodeJs installed (version compatible with package.json engine), and yarn installed (npm i -g yarn).

nvm use
yarn install
yarn bootstrap

Please refer to each package's Readme.md for anything specific to the package.

If you want to contribute, please check out CONTRIBUTING.md.

Useful scripts

Each package might provide the following scripts.
You can run these for all packages by running it from the root folder. Alternatively you can run it for a specific package by passing the --scope option.

build

Production builds

yarn build

lint

run eslint

yarn lint

playground

start a devServer with some browsable examples

yarn playground --scope @edifice-wisemapping/web2d yarn playground --scope @edifice-wisemapping/mindplot

test

run all the tests

yarn test

run only integration tests

yarn test:integration

run only unit tests

yarn test:unit

Image Snapshot Testing

We use cypress-image-snapshot for snapshot testing. This is a relatively cheap way of identifying behavior changes based on page screenshots. See visual testing docs for more information.

When a test that contains a matchImageSnapshot call is run, it compares the snapshot to the corresponding one in the snapshots directory. If Any change is detected, the test will fail, and the diff can be found in the cypress/snapshots/*/__diff_output__ folder. If the change is intentional, we should "accept" those changes by updating the snapshot and include it in the commit.

There is a caveat where colors, fonts or ui may differ depending on the host machine running the tests.

A workaround for this is to run the tests using docker. Make sure you have docker and docker-compose installed.

Run snapshot tests: docker-compose -f docker-compose.snapshots.yml up
If anything changed, and the change was intentional, update the snapshots and then commit the new images to source control.
Update snapshots: docker-compose -f docker-compose.snapshots.update.yml up

edifice-wisemapping's People

Contributors

ccreusat avatar headan avatar

Watchers

Sofiane Tardami avatar Damien Boissin avatar Rafik Djedjig avatar Guillaume DROULEZ avatar Benjamin Perez avatar  avatar BKhoury avatar  avatar RomuC avatar David BREYTON avatar  avatar Nabil Mansouri avatar

edifice-wisemapping's Issues

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.