This repository has been archived on 2023-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2020-11-28 19:33:36 +00:00
.idea Fix e2e test and actually check login works 2020-08-13 16:24:49 +01:00
bin use package config in script 2019-09-09 21:39:58 +01:00
e2e Fix e2e test and actually check login works 2020-08-13 16:24:49 +01:00
src Add device token management 2020-11-28 19:33:36 +00:00
.editorconfig Initial CoreUI commit 2017-04-27 15:29:31 +01:00
.gitattributes added just in case for font loading file attribute 2018-01-18 12:17:35 +00:00
.gitignore More graphs with testing data 2019-07-15 01:17:01 +01:00
.travis.yml Updated api key for deploy build 2019-09-11 13:11:52 +01:00
angular.json Add packages and pre-reqs 2020-11-08 17:38:01 +00:00
browserslist Updated versions 2019-07-02 16:46:20 +01:00
CHANGELOG.md Updated changelog and package version 2019-09-16 13:01:04 +01:00
Foodloop-Web.iml More graphs with testing data 2019-07-15 01:17:01 +01:00
karma.conf.js note even sure why that was there 2019-09-09 21:09:47 +01:00
LICENSE.MIT update Licence file from Core-UI and add licence listing to Readme 2017-09-15 15:50:02 +01:00
package-lock.json Add device token management 2020-11-28 19:33:36 +00:00
package.json Add packages and pre-reqs 2020-11-08 17:38:01 +00:00
protractor.conf.js fix CI config 2019-09-09 20:55:21 +01:00
README.md README edits 2020-11-28 19:30:41 +00:00
tsconfig.json Updated versions 2019-07-02 16:46:20 +01:00
tslint.json Updated versions 2019-07-02 16:46:20 +01:00

LocalSpend - Web Application

This repository contains the Web application for the LocalSpend system.

Current Status

Branch Status
master Build Status
development Build Status

Contents

  1. Getting Started
  2. Environments
  3. Testing
  4. Troubleshooting
  5. Licences

Getting Started

To get started with development, you will need an up-to-date version of Node.js, git, and access to either the backend dev. server or a local copy of it from the LocalSpend Server repo.

For your local Node.js, we recommend using:

  • n for *nix and Mac; and
  • nodist for Windows.

We recommend Node.js version 8.0.0+ and npm version 5.3.0+.

To get this repository set up:

  1. Clone it
  2. Install the dependencies:
  • npm install -g @angular/cli
  • npm install
  1. Set up the src/environments/environment.⟨environment⟩.ts file
  2. Start the application:
  • npm run start:local if running the app. locally
  • The app. will automatically reload after source file changes

Environments

The app defaults to using the production environment. For other options, see angular.json.

Build

Run ng build to build the project; the resulting files will be stored in the dist/ directory. Use the -prod flag for a production build.

Testing

There are two types of test in this codebase:

  • unit tests (using Karma); and
  • E2E tests (using Protractor).

Karma Unit Tests

To run these, you just need to run npm run test - this should work without any further configuration. These run the *.spec.ts files next to the normal source files, and are for basic tests for each function on their own.

These tests are a long-running process, and will automatically run on file changes. Just run the command above, and then check back to the browser window that appears to see any errors as you work!

Protractor E2E Tests

To run these, you will need to run the following command:

  • webdriver-manager update

This will download the correct webdriver for you (we use chromedriver), and any other dependencies it needs. After that, you can run the tests with npm run e2e. Note these run once, and will need to be re-run every time you want to run an e2e test.

These tests are best run regularly, and should show if any issues have emerged in other parts of the application that you are not aware of, or if some part of the flow through the app has changed significantly.

Troubleshooting

Error: EACCES: permission denied, access '/usr/local/lib' when installing dependencies

Change npm's default directory by following these steps.

Licences

CoreUI

The interface itself is based off of CoreUI which is MIT Licenced. For information, see LICENCE.MIT included in this repo.