Code Monkey home page Code Monkey logo

mdm-ui's Introduction

mdm-ui

Web front-end for the Mauro Data Mapper

Build status

Branch Build Status
main Build Status
develop Build Status

Requirements

Please use NVM to manage the required node dependencies, and then run npm i -g [email protected] to update to v7 of npm

Installation

  1. Clone the mdm-ui repo
  2. Install NVM environment
  3. Install Angular CLI
  4. Install all dependencies
# Clone repo
$ git clone [email protected]:MauroDataMapper/mdm-ui.git

# Install the NVM environment
# This will use the `.nvmrc` file to install the node versions we need and update to the latest version of npm
$ nvm install --latest-npm

# Install Angular CLI
$ npm i @angular/cli

# Install the code dependencies
$ npm install

Development & Testing

Run the application

  • To start the application in development mode run ng serve
  • After the terminal finishes compiling, open up your browser and navigate to http://localhost:4200

Testing the application

  • To test the application run npm test

All pushes to the repository will invoke a Jenkins CI build. When Jenkins runs the builds it uses npm ci which uses the package-lock.json to determine dependencies, this is done to ensure the "Jenkins tested build" uses what will be used when we release.

Therefore if you change any dependency versions you must make sure the package-lock file is also updated

MDM-Resources

We have a dependency on another repository (mdm-resources) which we develop.

The package.json file is configured to use the latest release of this module into the NPM registry, however if you are developing mdm-resources alongside mdm-ui or you know there are changes which have not yet been released you will need to do the following

  1. Clone the mdm-resources repository
  2. Link the mdm-resources repository into your global npm
  3. Link mdm-resources into mdm-ui

Once you have linked the mdm-resources repo into the global npm it will remain there until you unlink it, you will have to re-build (npm run build) mdm-resources with each change for those changes to be picked up by mdm-ui, however you dont have to re-link after the rebuild.

Linking to mdm-resources

If you run npm install inside mdm-ui you will have to re-run the final link step below to re-link mdm-resources into mdm-ui.

# Clone mdm-resources
$ git clone [email protected]:MauroDataMapper/mdm-resources.git

# Link mdm-resources to global npm
$ cd mdm-resources
$ npm install
$ npm run build
$ npm link

# Link mdm-resources into mdm-ui
$ cd mdm-ui
$ npm link @maurodatamapper/mdm-resources

Unlinking from mdm-resources

This is surprisingly simple just run npm install or npm ci

Useful Tool for Links

There is a useful npm package (symlinked) which can list what modules are linked into your repository. This is helpful if you want to check if mdm-resources is currently linked to mdm-ui. We recommend installing this globally with npm i -g symlinked then you can call it inside mdm-ui using symlinked names.

Build the application

To 'export' the code for production, run ng build --prod this will compile & minify the code, making it ready for production

mdm-ui's People

Contributors

pjmonks avatar atpw25 avatar jamesrwelch avatar olliefreeman avatar ansh1980 avatar adjl avatar gbishop-phsa avatar dependabot[bot] avatar aaronforshaw avatar ignatg avatar joe-crawford avatar aysheylmz avatar

Watchers

James Cloos avatar

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.