B08_140G0219R0029_Attch_1_PWS_wOpt.docx

DOCX document 27 KB Posted

Attached to
IT Services, ANGULAR PWA EARTHQUAKE MAP AND LIST Federal contract opportunity
Solicitation number
140G0219R0029
Issued by
Department of the Interior US Geological Survey

About this file

140G0219R0029 Attachment 1 Work Statement

View the file

Other files for this federal contract opportunity

Other files attached to IT Services, ANGULAR PWA EARTHQUAKE MAP AND LIST, newest first.
File Type Posted
B08_140G0219R0029_Attch_2_DOL_WD.pdf PDF
Sol_140G0219R0029.pdf PDF

On GovTribe

Work with this file on GovTribe

  • Download the original file
  • Contacts named in this file
  • Similar government files
  • Ask GovTribe AI about this file

Text version

Solicitation 140G0219R0029 Attachment 1 Work Statement

PERFORMANCE-BASED WORK STATEMENT

Migration of Latest Earthquakes to Angular and Progressive Web App

Background The USGS Earthquake Hazards Program (EHP) maintains several web applications that provide information about seismicity and seismic hazard that are heavily used by the public and by decision makers. Latest Earthquakes (https://earthquake.usgs.gov/earthquakes/map/) is consistently one of the most visited federal websites/applications.. It can spike to being the most visited webpage following a widely felt or newsworthy event. The application in its current form has proven to be very robust and responsive, even under heavy load. The application is mobile friendly and scales to fit a variety of sizes including a monitor, phone and tablet, with sizes in between.

A user can toggle between 4 views: map, list, settings, and help. Between 0-3 views can be seen on a desktop, one view at a time on mobile, the help screen is visible if other views are turned off. A user can choose between several data feeds and a custom search to determine what is displayed on the map. A user can opt for the display to be updated automatically as the data changes. The list of events can be sorted, the time can be changed to various references, and there are custom list views to display various pieces of data. A user can choose from several basemaps and other data layers that can be displayed on the map. The user needs to know if they are looking at the most recent data or if the data has gone stale.

The code for this application is open source and is available at : https://github.com/usgs/earthquake-latest-earthquakes

We want to take advantage of emerging technologies to better serve the public. We require a contractor to convert our most heavily used application, Latest Earthquakes, to a Progressive Web App (PWA) in the Angular framework. The Angular framework will allow us to onboard developers to support the application and the PWA features will provide us with an ability to send push notifications about events to desktop and mobile devices.

Scope Services, non-personal, to provide all plant equipment, labor, travel, and materials (unless otherwise provided herein) necessary to rewrite the Latest Earthquakes application (APP) as an Angular Progressive Web App.

Task with Quality Standards and Time Standards.

Task 10 The contractor shall rewrite the Latest Earthquakes application as an Angular Progressive Web App. The core set of features needed by the end of the contract are a PWA shell, build process, list view, map view, settings view, inclusion of at least 2 map base layers, base layer chooser, integration with data, data chooser, integration with search, at least one custom list format and chooser, integration with overlays, overlay chooser. Other required features include bookmarkable URLS and displaying custom GeoJson/search results. The application must build in a container.

Task 10a. The contractor will instruct 3 FTE government software developers throughout the development process. The developers have extensive web development and Angular experience, but no experience with PWAs.

The contractor will provide the government technical advice and recommendations, but ultimately the government will decide which features will be included in each sprint. The government will inspect and accept all code by contractor and the contractor will give technical feedback on the source code written by government employees. A review meeting will take place on the last day of each sprint where the contractors demonstrate the features of the new version and the government either accepts or rejects the completion of each issue and the version completed in the sprint.

The government will pay the contractor on invoices which shall include at least 2 sprints of deliverables.

Task 10 Acceptable Quality Standards The app must be the most used, latest version of Angular.

The application must incorporate PWA features (offline shell loading, push notifications).

The application must build in a Docker container.

The source code must be in the USGS repository and be open source.

Best security practices must be followed.

The application must use Leaflet and the Google Material Design elements.

The application Must adhere to USGS visual identity standards, some GHSC specific variations may apply, approved by GHSC.

The application must have a comparable set of features as the current version. We reserve the right to modify the current functionality slightly (i.e. add new list format, change data displayed in current list formats, add new feed, add new layer, etc.)

The application must be mobile friendly for range of devices (phone, tablets, etc).

Any code must be peer reviewed before it is merged into the master branch.

The code must be managed in the USGS open source repository.

The code must have at least 90% test coverage The deliverable must be deployable in our staging and production environment.

The application/container must have an automatic build process.

The application must have the same core features as the existing application.

The application must load with the same performance as the existing application.

Task 10 Acceptable Time Standard(s) There will be a planning meeting before every sprint/iteration.

Sprint should last between 7 and 21 days, based on the complexity of features included for that sprint.

Feedback to government developers will be given within 2 work days after request.

Option 20:

Option 20 will be to refine and expand on the features delivered in Task 10; such as adding additional list formats, adding additional base layers, bug fixes, and refactoring for efficiency. The contractor will continue to instruct the government developers, but at a reduce level of oversight.

We except the option to be about 1/3 of the effort as task 10.

The same quality and time and standards from above apply for the option.

Key Personnel The contractor shall provide personnel which have demonstrated expertise developing publicly accessible, Angular, PWA applications. Due to the technical requirements and high visibility of this project, Certified Google Development experts are highly preferred. The government will contact references from past projects to evaluate personnel.

Quality Assurance Surveillance Plan (QASP)

The contractor is responsible for Quality Control. The contractor shall provide a Quality Control Plan (QCP) with its proposal and adhere to the QCP during its performance of this contract.

The Government is responsible for Quality Assurance. The USGS Technical Liaison (TL) will use the following QASP Matrix to assure that the contractor performs services under this contract to the quality and time standards in the Performance-based Work Statement.

TASK & SUB-TASKS
Description OF QUALITY & TIME STANDARDS
Method of surveillance
Language
The code shall be written in Angular7 or later
COR Inspection
Testing
Code must be thoroughly covered by unit tests. Tests must be meaningful.
90% test coverage as indicated by Travis CI, COR inspection.
Build
Must build with production optimizations
Built code, COR inspection
Deploy
Must deploy as Docker image. Must support scenario and actual events (runtime/startup environment switch, not separate builds/images). Must integrate with existing CI/CD pipelines.
COR inspection. Application on staging servers. Application on prod servers with Beta tag.
PWA
Include PWA features and functionality such as shell loading and push notifications.
COR inspection
Security
Code must have no known security vulnerabilities. Must use best security practices.
Pass automated QASP security scans. COR inspection.
Code
All source code in USGS repository. Publicly accessible. contributed to public domain with government provided "LICENSE.md" and "DISCLAIMER.md" files. The code should comply to the coding standards.
COR inspection
Review
All code should be peer reviewed. Contractor may perform iterative code review. Government may review issues at their discretion.
COR inspection
Backlog
Issues will be created and tracked in an assigned repository. A backlog of issues for at least 2 sprints must be delivered in the first task. The issues shall be placed in a prioritized order during planning and completed in that order throughout the sprint.
COR inspection
Performance
Application must perform within 10% load time of current application. 200 vs 5xx responses. Proper caching headers and other caching policies. Free from memory leaks. Supports 2 most recent versions of modern devices/browsers.

Load impact stress testing. COR inspection.

Demonstrations
At the conclusion of each sprint, a product demo to product owner and GHSC development team
COR inspection
Accessibility
508
COR inspection, lighthouse score 90%+

File details come from the government source that posted it.