Giter Site home page Giter Site logo

forms-admin's Issues

Create page for adding a question to a form

We should be able to add a question page to the form. The page itself could be made ahead of the API work, however the page itself will not be able to be persisted until that work has been completed

  • form builder can add the question text
  • form builder can add the optional short name
  • form builder can optionally add hint text
  • form builder can select the sort of answer it is from list:
    • single line of text
    • address
    • date
    • email address
    • National Insurance number
    • phone number
  • user can save this page
  • saves the question type as appropriate in the saved from structure

Related issues
alphagov/forms-api#25

Add CONTRIBUTING.md

We're unlikely to get any contributions from members of the public at this early stage, but it's probably a good idea to have a CONTRIBUTING.md in place early. At a minimum this should include a link to the Code of Conduct.

We may want to adapt one of the existing versions, e.g. the govuk-frontend CONTRIBUTING.md

Add sentry

We want to use sentry for exception tracking, we will need to set up a sentry account and ensure the service can send exceptions correctly

Localise existing views

We recently added localisation to the repo (#56) and from this point on we will be localising any new views or components we create. However, there are existing views which still have hard-coded English text in them.

We should complete this issue before we start adding support for other languages.

This affects:
forms/

  • edit.html.erb
  • new.html.erb
  • not_found.html.erb
  • show.html.erb

home/

  • index.html.erb

layouts/

  • application.html.erb

Add CODEOWNERS file

From the GDS Way:

Consider protecting the .github/workflows folder by using a CODEOWNERS file and requiring review from CODEOWNERS for merges into protected branches.

Create initial form overview screen

Both #41 and #42 require a form overview screen to link to, we can create a simple one to begin with that contains an edit link to our existing edit page (editing the title/submission email)

As this will be iterated and changed in the future, we don't need to worry about making this too designed and can just be a simple link to the edit details page that exists already

To do

  • Create form overview screen
  • Form overview screen contains link to existing edit screen for "Edit form"

Align create form journey with with prototype

Tasks

  • Use a Start button for the create a form button on the homepage, instead of a normal button
  • Make the label for the respective form name and email pages use h1 elements
  • Separate the email address question from the form name question, and don't include it in the create a form journey
  • Make the form name and email pages 2/3 width
  • Set the submission email to an empty string when the form is created

Trello cards:

https://trello.com/c/DzXscuZj/426-landing-page-forms-as-a-start-button
https://trello.com/c/0PVwvL3k/427-create-a-form-journey-update

Add friendly Error pages

This should include:
404 for page not found
500 for unexpected errors
Service unavailable (in case we need to take the service down temporarily)

Add Cypress tests to CI pipeline

We should run the Cypress tests on every PR to to catch any issues early. Ideally we should add this to our existing CI workflow.

Align form builder home screen with the prototype

Trello card: https://trello.com/c/2mA8sYr5/262-create-form-builder-home-screen

Prototype screen: https://forms-prototypes.london.cloudapps.digital/form-designer/form-home

To do:

  • Update form home screen create button to match the prototype
  • Update form list display to match the prototype
    • Note: In Dev we can keep the link to the runner for now as a link underneath the form name or something similar
  • Edit links take you to the form overview screen (depends on #43 )
  • Create request and frontend specs for this

Configure frontend build

This should include anything we're likely to need in both forms-admin and forms-runner, but not anything more specific. We already have a default Rollup build but this may also need a but of configuring.

This should include:

  • babel for transpiling
  • a browserslist configuration (start with a sensible default, we will adjust this later once we have a better idea of our user stats)
  • jest for unit testing
  • cypress for end-to-end testing
  • style and js linting
  • autoprefixer
  • dart-sass instead of ruby-sass
  • install govuk-frontend
  • style and js formatting

Display questions on form overview screen

  • When I follow a link from the home screen it opens the form overview screen for that form
  • This screen displays the form name, a create question button
  • includes a link to allow user to edit the form name
  • include a link to allow the user to edit each question that's been added

Fix asset rendering bug

Currently the govuk-frontend assets (most noticeably the GDS Transport font) aren't being compiled by the asset build. This means that the fonts and assets will load correctly on a local machine, but return 404s on the dev server.

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.