Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,6 @@ browser-tests/.features-gen/

# Generated E2E test results
browser-tests/e2e-tests/test-results/

# Script output
translation-inconsistencies.json
19 changes: 19 additions & 0 deletions .kiro/steering/product.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# One Login
"One Login" is a service provided by the UK government to allow citizens to create a login and prove their identity once. The login can then be used to access many different government services without
the user needing to create multiple accounts.

The One Login service is made up mainly of a website and two mobile apps available on Android and iPhone. The website looks like one site to the end-user but is actually made up of multiple sites owned
by different teams and the various sites hand-off to each other as required during the user's journey.

Typically a user will start on government service's website that uses One Login. The service site (known as a relying party, or RP) will send the user to the One Login Authentication site to login,
they may then be passed to Orchestration which will decide where to route the user to. If they user needs to prove or re-prove their identity they will be sent to Identity Proving and Verification (known as IPV, or IPV Core).
Once the user has succeeded or failed in proving their identity IPV will send them back to Orchestration to continue their journey.

# IPV Core
This project; `core-front` is part of IPV Core. There is another project called `core-back` that works closely with `core-front` and contain most of the business logic of the system.

The main purpose of `core-front` is to display pages to the user and determine the action that the user wants to take on each page. Those actions are sent to `core-back` which then decides what to do next,
usually this will be to do some processing and then tell `core-front` to display another page to the user.

The pages displayed by `core-front` need to be clear, concise, and accessible - in accordance with the GOV.UK design system. Pages must be available in both English and Welsh.
They need to guide users through identity (re-)proving journeys so that the users can successfully prove their identity, and so gain access to the government service they want to use.
9 changes: 9 additions & 0 deletions .kiro/steering/structure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Website
Code for the site is in the /src directory
Deployment configuration is found in /deploy/template.yaml
Translation text for i18next is in /locales/*/translation.json
GitHub workflows are used to configure build pipelines and run automated tests.

# Testing
Unit tests are kept alongside (or very close to) the files that they test.
Browser tests have their own folder and are for higher level tests of the entire site, and for snapshot tests
18 changes: 18 additions & 0 deletions .kiro/steering/tech.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Website
The `core-front` website uses the Express webserver. The site is written in TypeScript and Nunjucks is used the templating language for the web pages.
i18next is used for handling translations
The site runs in AWS ECS.
The site uses DynamoDb for data storage.
Configuration is stored in environment variables accessed through dotenv, or in AWS SSM.
csrf-sync is used to provide csrf protection for the forms on the site.
Axios is used to send web requests (e.g. to `core-back`)
The base template for `core-front` is actually stored in the `@govuk-one-login/frontend-ui`
CSS is generated using SASS

# Testing
Unit tests use Mocaha, Sinon, and Chai.
Browser tests have their own folder and use PlayWright

# Misc
Check package.json for the full list of packages used by the site.
Check README files for more information about the project.
Comment thread
blakeyp marked this conversation as resolved.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ ipv-core-front works with the following IPV Core repositories:
* [ipv-core-common-infra](https://github.com/govuk-one-login/ipv-core-common-infra) - utilities that automate IPV Core ancillary services
* [ipv-stubs](https://github.com/govuk-one-login/ipv-stubs) - test stubs for IPV Core dependencies (credential issuers)

# Kiro
Kiro is Amazon's coding assistant AI, currently, as part of the AI experiment, we are allowed to use the command line version `kiro-cli`. This project includes a `.kiro` folder that contains markdown files designed
to give Kiro high level context about the project to help it make suggestions that work with the existing design decisions. This folder is committed so that all developers on the team can improvae and benefit from
the steering information (https://kiro.dev/docs/cli/steering/).

# Developing ipv-core-front

This guide explains how to:
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading