department-of-veterans-affairs/vets-website

View on GitHub
src/applications/third-party-app-directory/README.md

Summary

Maintainability
Test Coverage
# Third Party App Directory

## Overview

The [Third Party App Directory](https://community.max.gov/pages/viewpage.action?spaceKey=VAExternal&title=Technical+Brief+for+OAuth+Application+Directory+API) is a list of third party applications that are available for veterans to connect their data. The app list is built as a React [widget](https://department-of-veterans-affairs.github.io/veteran-facing-services-tools/getting-started/common-tasks/new-widget/) that is lazy loaded onto a static template generated by our static content build process.

Third party app data is queried from the Apps API endpoint in [vets-api](https://github.com/department-of-veterans-affairs/vets-api/tree/5c1288f177625dfa64ac9f58ec8ffc5633123166/modules/apps_api/app/controllers/apps_api). App logos are stored separately in an S3 bucket that adheres to the VA [Content Security Policy](https://github.com/department-of-veterans-affairs/va.gov-team/blob/1ec23455e4523365d1bc2651c943632ca62f2009/platform/engineering/content-security-policy.md).

The app directory is mounted on a static page that is generated from a template in the Drupal CMS. Updates to any content outside the list of applications must be coordinated with the [Public Websites team](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/products/content/tier-2-content-IA-and-design/learning-center-mvp/product-team.md) developing the [Resources and Support center](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/products/content/tier-2-content-IA-and-design/learning-center-mvp/product-outline.md).

## Development

In order to develop and view changes to the app directory you'll need to follow the vets-website static content build [instructions](https://github.com/department-of-veterans-affairs/vets-website#building-static-content) or simply run the following commands:

```sh
yarn build:content --pull-drupal
```

After the build process is complete you should run the preview server concurrently with the webpack server

```sh
yarn preview
```

and

```sh
yarn watch
```

Click [this link](http://localhost:3001/preview?nodeId=9615) to preview any changes to the app directory.

## Running tests

To run all unit tests for the app directory you can run the following:

```sh
yarn test:unit src/applications/third-party-app-directory/**/*.unit.spec.js*
```

## Codeowners

The [lighthouse bilby](https://github.com/orgs/department-of-veterans-affairs/teams/lighthouse-bilby) team owns development of this widget and will be tagged on any pull requests. Their slack channel is #connected-apps.