Giter Site home page Giter Site logo

dm-app-dmt's Introduction

Data Modelling Tool

[![License][license-badge]][license] [![On main push][on-main-push-branch-badge]][on-main-push-branch-action]

The data modelling tool is a tool for modelling complex domain models.

Some features:

  • Create, view, and search models
  • Create applications containing custom views, models, and actions
  • Generate code that reflects models

Documentation

You can find the Data Modelling Tool documentation here; https://equinor.github.io/data-modelling-tool.

Developing

The dynamic nature and tight coupling between the entites, blueprints, and views in the Development Framework, the web application needs to have access to a Data Modelling Storage Service (DMSS).

You can start this locally (see https://github.com/equinor/data-modelling-storage-service), or point to an existing service somewhere else.

Let the web app know of which DMSS to use by setting the DMSS_URL environment variable.

Starting

docker-compose pull
docker-compose up --build
# Load DMSS core documents
docker-compose run --rm dmss reset-app
# Load DMT app specific documents
dm reset apps
# Create DMT lookup for recipes
dm create-lookup DMT DMT/DMT/recipe_links

The web app will be served at http://localhost

If the data is corrupted or in a bad state, a hard reset of the DMSS is often a solution. This command will remove every mongo database using the same database host as the core, and upload DMSS's core documents.
App specific documents and lookup has to be recreated.

docker-compose run --rm dmss reset-app

Oneliner to reset database:

docker-compose run --rm dmss reset-app && dm reset apps && dm create-lookup DMT DMT/DMT/recipe_links

Running Tests

Unit tests:

docker-compose run --rm api pytest
docker-compose run --rm web yarn test

Pre-commit

We use pre-commit to do a minimum of checks on the developer pc before committing. The same checks, plus a few more are also run in the build pipeline.
You should catch any errors early to save time.

Setup;

pip install pre-commit  # Should be installed in global python environment
pre-commit install  # Pre-commit will now run on every commit (can be skipped with 'git commit --no-verify')

# To run manually on all files
pre-commit run -a 

dm-app-dmt's People

Contributors

soofstad avatar netr0m avatar

Stargazers

Kristian Kjerstad avatar

Watchers

Eirik Ola Aksnes avatar Kostas Georgiou avatar  avatar

dm-app-dmt'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.