Giter Site home page Giter Site logo

gp-finder's Introduction

GP Finder

GitHub Release Greenkeeper badge Build Status Coverage Status

A GP surgery finder application to allow the user to easily navigate to a GP surgery's online booking system.

Test environments

As the application is being developed, every Pull Request has its own test environment automatically built and deployed to.

Every environment apart from the one we want the public to access requires basic authentication to access. The username and password are not secret, in fact they are included within environment variable table below. The intention with the authentication challenge is to prevent people whom may stumble across the site and not realise it is for testing, it also prevents access by search engines and other bots.

Environment variables

Environment variables are expected to be managed by the environment in which the application is being run. This is best practice as described by twelve-factor.

Variable Description Default
NODE_ENV Node environment development
LOG_LEVEL Numeric log level Depends on NODE_ENV
PORT Port web server is accessible on 3000
ES_HOST Elasticsearch host name es
ES_PORT Elasticsearch port 9200
GOOGLE_ANALYTICS_TRACKING_ID Google Analytics property id
WEBTRENDS_ANALYTICS_TRACKING_ID Webtrends tracking id
HOTJAR_ANALYTICS_TRACKING_ID Hotjar tracking id
BASIC_AUTH An MD5 encrypted htpasswd test:test

Application development

The application has some scripts to make things easier for development. For more information about scripts, please read the info here.

Please run the ./scripts/bootstrap script first and follow the instructions.

For application specific development, start by cloning the repo and all submodules i.e. git clone https://github.com/nhsuk/gp-finder.git && cd gp-finder/ && git submodule update --init --recursive

You can run the application using ./scripts/start. The application will be available locally on http://localhost:3000 and any changes you make will be reflected in the app. You can run the tests using ./scripts/test.

Continuous development

First time run - please run yarn install locally as we are using Husky to manage our git hooks that will ensure a baseline code quality.

You can run the tests continuously using ./scripts/test, and once you are happy with the changes you have made and want to commit and push your changes, some git hooks will run as spot checks for linting, unit tests and security vulnerabilities.

Architecture Decision Records

This repo uses Architecture Decision Records to record architectural decisions for this project. They are stored in doc/adr.

gp-finder's People

Contributors

adamgraves-choices avatar beseven avatar greenkeeper[bot] avatar greenkeeperio-bot avatar markysoft avatar mcgrathjoe avatar neilbmclaughlin avatar st3v3nhunt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

uk-gov-mirror

gp-finder's Issues

Add tests for MongoDb error conditions

I have just removed a test which tested error handling by feeding an invalid query parameter to MongoDb as the query parameter limit. Limit is no longer used.

We need a better way of introducing testing of the error handling branches of the code.

An in-range update of cookie-parser is breaking the build 🚨

The dependency cookie-parser was updated from 1.4.3 to 1.4.4.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

cookie-parser is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Commits

The new version differs by 63 commits.

There are 63 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Add bootstrap script

Include a bootstrap script that installs all dependencies required for the project

An in-range update of on-headers is breaking the build 🚨

The dependency on-headers was updated from 1.0.1 to 1.0.2.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

on-headers is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for 1.0.2
  • Fix res.writeHead patch missing return value
Commits

The new version differs by 84 commits.

There are 84 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of node-sass is breaking the build 🚨

The dependency node-sass was updated from 4.9.3 to 4.9.4.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

node-sass is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v4.9.4

Dependencies

Supported Environments

OS Architecture Node
Windows x86 & x64 0.10, 0.12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
OSX x64 0.10, 0.12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Linux* x86 & x64 0.10, 0.12, 1, 2, 3, 4, 5, 6, 7, 8**, 9**, 10**^
Alpine Linux x64 4, 6, 7, 8, 9, 10
FreeBSD 10+ amd64 4, 6, 8, 9, 10
FreeBSD 10+ i386 4, 6, 8, 9, 10

*Linux support refers to Ubuntu, Debian, and CentOS 5+
** Node 8 and 9 are not supported on CentOS 5
^ Only available on x64

Commits

The new version differs by 2 commits.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of coveralls is breaking the build 🚨

The devDependency coveralls was updated from 3.0.2 to 3.0.3.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

coveralls is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for Dependency security updates

As suggested by NPM and Snyk.

Commits

The new version differs by 1 commits.

  • aa2519c dependency security audit fixes from npm & snyk (#210)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Remove non-minified JS assets

Neither mark.js or details.polyfill.js are minified. They should be. However, rather than just minify them it might make more sense to use a CDN. Solution depends on discussion with the wider team.

Case incorrect in threshold

The line starting 'total' should begin 'Total'.
Currently it is not being matched by the performance tests, so is being ignored.

An in-range update of eslint-plugin-import is breaking the build 🚨

The devDependency eslint-plugin-import was updated from 2.14.0 to 2.15.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-import is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Commits

The new version differs by 34 commits.

  • 767f01a bump to v2.15.0
  • 038d668 bump webpack resolver to v0.11.0
  • 20a8f3b bump utils to v2.3.0
  • 1e4100d changelog note for #1261
  • 548ea02 added support for argv parameter of webpack`s config-as-a-function (#1261)
  • fcf2ce7 Merge pull request #1254 from ljharb/travis
  • 64d9be7 allow_failures for dicey Node/ESLint intersection
  • 73080d0 dep-time-travel: use older versions of dependencies
  • 05c3935 repair no-deprecated for ESLint* 5
  • 10c9811 node 4 fix for test util
  • f165237 ah geez, bumping babel-eslint breaks no-amd/no-cjs
  • acfb6e9 jk, test against eslint 2/3 but skip Typescript tests.
  • b686f9d drop ESLint 2/3 from Travis/Appveyor
  • cf1f6f4 [Deps] update debug, eslint-import-resolver-node, has, lodash, minimatch, resolve
  • d290a87 [Dev Deps] update babylon, coveralls, eslint-import-resolver-typescript, gulp, linklocal, nyc, redux, rimraf, sinon, typescript-eslint-parser

There are 34 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

ES Geo Query - distance and units thresholds

As part of the postcode validation, it was raised that YO62 4LA is 3.6 mi away from the nearest GP but the current radius is of 5km.
A couple of solutions:

An in-range update of nodemon is breaking the build 🚨

The devDependency nodemon was updated from 1.18.4 to 1.18.5.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

nodemon is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v1.18.5

1.18.5 (2018-10-26)

Bug Fixes

  • nodemon installation for node 10.x and beyond (#1441) (3afa52c)
Commits

The new version differs by 1 commits.

  • 3afa52c fix: nodemon installation for node 10.x and beyond (#1441)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of require-environment-variables is breaking the build 🚨

The dependency require-environment-variables was updated from 1.1.2 to 1.2.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

require-environment-variables is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Commits

The new version differs by 2 commits.

  • 56fe6a3 Merge pull request #7 from bjoshuanoah/issue-6
  • 8c28c40 update travis requirements, update build, return object of env var values

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

snyk test fails on master

Running rm -Rf node_modules && yarn install && yarn snyk test reports
vulnerability:

βœ— Medium severity vulnerability found on [email protected]
- desc: Uninitialized Memory Exposure
- info: https://snyk.io/vuln/npm:tunnel-agent:20170305
- from: [email protected] > [email protected] > [email protected] > [email protected]
Your dependencies are out of date, otherwise you would be using a newer tunnel-agent than [email protected].
Try deleting node_modules, reinstalling and running `snyk test` again.
If the problem persists, one of your dependencies may be bundling outdated modules.

Deleting the yarn.lock file seems to resolve the problem (rm -Rf node_modules yarn.lock && yarn install && yarn snyk test) which suggests the yarn.lock file is the problem.

An in-range update of eslint-plugin-json is breaking the build 🚨

The devDependency eslint-plugin-json was updated from 1.2.1 to 1.3.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-json is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Commits

The new version differs by 2 commits.

  • 82e0645 Replace JSHint with vscode's linting implementation
  • f9f2100 Update package-lock

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Update app to use new data structure

In release 0.8.0 of profiles-db the data structure change for the bookingSystem member. It has been moved to onlineServices.appointments. The app needs to be updated to take that into account.

Use the gitlab c2s-secrets repo to populate the travis env vars

It occurred to me that our travis.yml before-install section could include git clone https://gitlab.com/nhsuk/c2s-secrets.git && . c2s-secrets/.env - this would mean that Travis needs fewer env vars defined.

There are some repo specific env vars (e.g. COVERALLS_REPO_TOKEN) in .env which would necessitate splitting the .env file (probably).

An in-range update of helmet is breaking the build 🚨

The dependency helmet was updated from 3.13.0 to 3.14.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

helmet is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Commits

The new version differs by 5 commits.

  • d81dc40 3.14.0
  • c734b30 Update changelog for 3.14.0 release
  • ebf80d7 Travis shouldn't test on EOL'd Node 4; should test on 8
  • db8fdc7 Add featurePolicy middleware
  • 0468c37 Add mocha.opts to check for a few rare bugs

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Still too much logic in the views

Depending on state, the values of the header, contextual text and form class tag change but the presence of the elements themselves in app/views/includes/search-form.nunjucks do not.

Much of the conditional code, which at present is spread between the render and preRender middleware and the view template, could be consolidated into the testable messages lib with it's purpose to populate an object of heading, text and class.

An in-range update of nunjucks is breaking the build 🚨

The dependency nunjucks was updated from 3.1.3 to 3.1.4.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

nunjucks is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Commits

The new version differs by 7 commits.

  • 11262e5 Release v3.1.4
  • bcd45fc Merge pull request #1165 from stigkj/master
  • 40480f0 Fix engine version for Node v11.1.0
  • 3512ca6 Merge pull request #1161 from jonathanchu/master
  • 9dc07dc Fix dependency version for node v11.0.0
  • 39bb716 Merge pull request #1126 from TheDancingCode/issue-126
  • 4d4dc40 Escape unicode newlines when compiling

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint-plugin-mocha is breaking the build 🚨

The devDependency eslint-plugin-mocha was updated from 5.2.1 to 5.3.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-mocha is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for 5.3.0

Features

  • Implement no-async-describe rule (#188)
Commits

The new version differs by 7 commits.

  • d36c149 5.3.0
  • 4449a3d Merge pull request #188 from papandreou/feature/no-async-describe
  • 0c113b5 Simplify the fixer
  • a5fa46a Fix error message
  • 7c9b6dc Review fixes
  • d1ffa55 Fix wrong string-less describe in test cases
  • e509877 Implement no-async-describe rule

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

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.