icts's People
icts's Issues
Creating personas
Ensure passwords match on submission for registration page
In order to better understand our users, I will need to create personas
These personas can be very simple, mostly character-driven. They will also be redesigned with new information.
Hi-Fi Mockups - Global
📜Acceptance Criteria
- Navigation
- Header/Footer
- Branding
- Baseline Styles
- Component Library (USWDS Customization)
🤔Assumptions
- Working off of the current product requirements document
- This will be a responsive web app
- This will use USWDS components and style
🐤Dependencies
- Approval from ICTS stakeholders and the Fearless team
- Initial approval of #52
Registration Page
After "Register" button is pressed on Login page, app navigates to registration page to fill out needed info.
Acceptance criteria:
- Customer Name
- Address
- Phone number
- POC name
- other needed info?
Create Architecture Diagram for Technical Solution
Mural for work Technical Solution Diagrams: https://app.mural.co/t/playground6620/m/playground6620/1675636349137/9867daacfc39af75f93ba2a072e1949ab5921e37?sender=u814d83b371f79b4624892743
SWOT Analysis
ICTS RACI
Create API app container configuration
As DevOps engineer I want to create API app container configuration on Azure so that API container app instance can be launched on Azure app configuration.
I know this is done when:
- API container app instance is deployed on Azure Apps configuration
- API app is up and running and can be accessed on healthcheck URL
USWDS Styles Setup UI
test thing
Setup API github repository
Setup ICTS API github repository in Fearless github space and create maven based spring boot project.
Connect Register Page to API - UI
Design Research Plan
User flows/Crazy 8s
Using the design technique of Crazy 8s, @afknot and @SelaLewis are going to illustrate two user flows:
- When the company receives a notice from Commerce to apply for exemption or extension and receives a link to the portal.
- Once the application is submitted, what the adjudicator needs to make a decision about the application.
Dependencies: @icts #13-Requirements Gathering, #22 User management page - UI
ICTS Kick-Off
Architectural structure and naming conventions
We've chosen standard practice naming conventions for various folder/file names pertaining to react components and services.
We need to add these directories to the icts-ui repo.
Add cypress or testing structure for UI
Add dependencies and example test for cypress and react-testing-library.
Decided on using Cypress for both E2E testing and Component testing.
ICTS Roadmap
Create forgot password page
Link to issue: #10
Link to PR: https://github.com/FearlessSolutions/icts-ui/pull/2
Create Epic Definition of Done
Completion of an epic must meet the following criteria:
- All In Scope Items completed
- 508 Compliance
- Mobile Responsive
- Usage Analytics Logging
- Security Compliant
- Multi-Browser Support - What browsers and versions do we need for internal users?
- Automatic/Smoke/Regression Testing - front end is covered, need a plan for API (may need to accept as technical debt, likely postman)
- Release Planning
- PO Approves of Epic at Demo
- Project Manager approves of Epic at Demo
- Plain Language Used
- Content Supplied by PO
- Change Request Form filled out and approved (Prod)
Add API endpoint for Exemptions
Add endpoint for Exemptions with the following functionalities:
- add an exemption
- get all exemptions
- get an exemption by ID
- get exemptions by status
Dockerize front-end
Need to dockerize front-end to deploy to these environments:
- dev
- test
- prod
Create registration page
Create Key Vault for application parameters
As a DevOps Engineer I want to create Key Vault with parameters for application container so that run environment variables are available at run time.
I know this is done when:
- Key vault is created in Fearless Azure environment
- Key vault have parameters stored in it
ICTS Vision & OKRs
Create AuthService
Initially spin up with mock data for testing existing and new frontend components
AuthService functionality:
- register user
- login user
- logout user
- get current user
Dockerize front-end
Link to issue: #12
Add base table component - UI
This should be done before the dashboard
Internal user management page - Roles & Permissions
As an ICTS business stakeholder, I want to limit the view of different personas/roles so that users can easily and more focused/effectively do their jobs.
Given I am an adjudicator role in the application, when I log in successfully, then I must be able to take the following actions:
- View a list of all completed submissions
- Be able to view details of successfully completed submission
Given I am a submitter role in the application, when I log in successfully, then I must be able to take the following actions:
- Create a new submission
- Save a new submission as a draft
- View details Draft submission (only if they're the initial submitter)
- Complete draft submissions (only if they're the initial submitter)
- View a list of all submissions added by my company
- Be able to view details of each successfully completed submission
Given I am a system admin role in the application, when I log in successfully, then I must be able to take the following actions:
- View a user management dashboard
- Change/update/remove roles for all users
- Add new users to the application
- View a list of all completed submissions
- Be able to view details of successfully completed submission
Add security filtering to backend API
Create AuthService
Link to issue: #11
Create a react app with Next.js with TypeScript.
Mid-Fi Mockups (Jeremy/Industry)
📜Acceptance Criteria
- Registration flow
- Login flow
- Password reset flow
- Exception request submission flow
- FAQs
- Rule information screen
- Review and Sign Off from Dev/Design
- Review and Sign Off from BIS
- Review and Sign Off from ICTS Stakeholder
🤔Assumptions
- Working off of the current product requirements document
🐤Dependencies
Hearing back about data capture requirements from ICTS stakeholders
Create new persona-Individual Foreign Participant
Evan wants to include a persona of a foreign party. This will be completed by EOD 02/27. Additional features to consider this persona will be post-minimal viable product.
Create login page
Link to Issue: Login Page #1
Link to PR: https://github.com/FearlessSolutions/icts-ui/pull/1
Home page - UI
ICTS: Requirements Gathering
As a Team Fearless Team member, I need detailed requirements for the ICTS extension/exemption intake system so that I can quickly and easily creates our MVP.
Given I am on the ICTS PDR, when I got to the Key Decisions Sections, then I must be able to see the answer to the following questions:
- Are there parts of the exemption process that require paperwork? Where and when does that handoff happen?
- What are the specific ICTS impacted? How many imports do we anticipate needing exemptions for? Is it solely the ones from the ICTS supply chain document?
- Are export companies the same as import companies? Will we be able to use any of the export discoveries for ICTS?
- Do submitters need the ability to see their documents after submission?
- Do submitters need the ability to add support documentation after the first submission?
- Are there any upstream or downstream data dependencies?
- What occurs during the adjudication of an exemption request? What is the workflow?
- What information is required to make an exemption request determination
- What information is required to make an extension request determination
- Will Help Desk be supporting this effort?
- Would companies using the ICTS system have BIS CIN or another unique identification number? If not, how will the company be uniquely identifiable
- Will users be uploading files of any sort or will only be submitting online forms?
- Will BIS Azure cloud be used for this project? Who will be managing the cloud etc.? (Simon computing? Or internal resources or Fearless).
- What information is required to be published on the BIS website?
- What information is required for the submission accepted notification to
- What ICTS staff will need access to the product?
- Does ICTS need to approve the industry users?
- What’s the difference between exemption requests and extension requests
- Do ICTS censored products will only be names of products or include version numbers too?
- Does the list of subpoenaed companies list that ICTS has include company email and/or CIN?
- Are these companies uploading lists of all employees that have this software installed?
- Are there any cases where adjudication can be automatically approved without human intervention?
- What are the reporting requirements? What kind of data does ICTS need to see?
- Does ICTS want to limit access to the system to only someone who is accessing it within the US?
- What will be the domain/parent domain name where the application will live? (e.g. icts.gov, exempt.icts.gov, etc)
Expand mocks
Expand data models, auth service, and relative mock data for them.
Initial UI Setup
Create a react app with Next.js with TypeScript. Add USWDS.
Incorporate JWT in backend API
Create module to handle JWT based authentication
Create API for user login
Create user login data model and service to allow users to be created and login.
ICTS Kick-off
Hi-Fi mockups for Matthew
📜Acceptance Criteria
- Registration flow - TBD if Sam or Matthew - dependent of Azure
- Login flow
- Password reset flow
- Exemption request review flow - internal
🤔Assumptions
- Working off of the current product requirements document
- This will be a responsive web app
- This will use USWDS components and style
🐤Dependencies
- Approval from ICTS stakeholders, and the Fearless team
- Initial approval of #52
Proxy interview guide-Evaluative Usability Testing
User Story
As someone working on behalf of the offending company submitting exemptions, I worry that I may not have enough time to gather all the information from potentially thousands of customers and clearly label each of them within this submission process. I worry that this will be unadministrable.
Acceptance Criteria
Through usability testing, we want to learn:
- if the welcome screen with a card to begin the exemption requests improves organizing the amount of submissions.
- if "Save and Continue" assures the user their data has been saved.
-if the user decides to submit another exemption request, will they go back to the welcome screen with the card or will it take them back to the dashboard that show completed exemptions.
-if the user goes to the dashboard, how helpful is the option edit incomplete exemptions.
-if the user understands that once an exemption is completed, they cannot go back and change it.
Forgot Password Page
After the "Forgot Password" button on the Login page is pressed, takes user to page to enter email
Acceptance criteria:
- Input field for email address to reset password with
- "Reset Password" button
Create Azure app configuratioin
As DevOps engineer I want to create Azure App configuration for ICTS API app so that API app can be deployed on Fearless Azure.
I know this is done when:
- API app configuration created on Azure
Disclosure submission page(s)
Two ways we could do this (in my brain):
- Page with navigation to separate pages for filing an Exemption or Extension
- One page with selections for which type of disclosure you want to submit that loads a component/modal/etc to input data for that submission
Login Page
Create login page for external/internal users
Acceptance Criteria:
- Input field for email
- Input field for password
- "Login" button
- "Forgot Password" button/link
- "Register" button/link
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.