An AngularJS application frame for creating uw applications
JavaScript HTML CSS Java

README.md

Gitter Build Status Dependency Status Coverage Status Code Climate Issue Count npm version Time to PR close Time to issue close

UW Frame

uw-frame can be described as the "the framework for building applications for campus using modern technologies". This package includes the MyUW header, settings, footer, and some reusable components :

uw-frame screenshot

Learn more about the reusable components on our docs page

Requirements

Java (only if you want a maven artifact)

Quickstart

uw-frame provides the primary HTML page at the root of the context that hosts your AngularJS single page application. In order to introduce your own content, uw-frame's extension point is 'my-app/main.js'.

Getting Started with uw-frame-java

In your existing Maven war project, add the following dependency:

<dependency>
  <groupId>edu.wisc.my.apps</groupId>
  <artifactId>uw-frame</artifactId>
  <version>x.y.z</version>
  <type>war</type>
</dependency>

(uw-frame-java is available in The Central Repository.)

Start by creating the folder 'src/main/webapp/my-app' within your Maven war project, and copy uw-frame's main.js in to it. uw-frame includes RequireJS to help you load any additional JavaScript assets you wish, you'll do that in this file.

See my-app-seed for a great starter app using this frame.

Getting Started with uw-frame-static

This gives you the basic frame in a static content type way. Just add your files to the proper directory and you should be all set. This module is still a work in progress. Note it only works right now as the root context (if you want to change, update the index.html). This module is mostly used for development on the frame itself.

Testing

We love tests. We setup karma to run our tests.

To run the test suite:

npm test

Running locally

To build and run on a Superstatic server:

npm run static:dev

Maven

You can also create a artifact using maven. There's a pom.xml file in the uw-frame-java directory. The maven build will use the normal npm build and bundle into a deliverable war file.