awslabs / iot-application Goto Github PK
View Code? Open in Web Editor NEWVisualize your AWS IoT data with the IoT Application.
License: Apache License 2.0
Visualize your AWS IoT data with the IoT Application.
License: Apache License 2.0
Add a new eslint rule to prevent console.log
's getting into the repo.
When editing a dashboard name or description through inline editing on the dashboards page (/dashboards
), validation errors persist after canceling changes.
Validation errors should be reset after canceling changes.
/dashboards
).Auto collapse state for both panels when no widget is selected
Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1
Improve our type safety and integration with TanStack Query by migrating our repo from React Router to TanStack Router (https://tanstack.com/router/v1).
Prettier is not running at the root of the project, which is needed on for our Playwright tests. Improve our tests by making this work.
Add support for accessibility scans with Playwright (https://playwright.dev/docs/accessibility-testing).
Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1
Acceptance criteria
------ NOTES----
Tile layout for informing users to add asset properties to the widget added to the canvas.
Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1
Our build and test GitHub action is starting to hit the 15 minute limit.
Configuration options will differ based on the different widgets added by the user.
Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1
Make it clear to users how to deploy the application to AWS with detailed setup instructions assuming the user is starting from scratch.
Describe the bug
After saving widgets on a dashboard, the widgets would appear on another dashboard incorrectly.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
the widget(s) state on the dashboard should reflect the select dashboard's configuration
Screenshots
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Enable new TypeScript features and improved dev/build performance by upgrading the repo to use TypeScript 5.
Provide ourselves with a nice UI for our test runner by integrating Vitest UI (https://vitest.dev/guide/ui.html).
Document the architecture of the deployment infrastructure to provide understanding to contributors and users.
Currently, the yarn.lock
file lists dependencies that work on MacOS. However, the same dependencies does not work on the node:alphine
image.
Please work on compatibility and add --frozen-lockfile
flag to the line RUN yarn install
(This is not an real issue)
Hi team, it is very nice working will y'all. Unfortunately I won't be able to attend the celebration of the launch of app kit and application. Feel free to reach out to me if you want to talk. My email address is lixiao.bill at gmail.com.
Thanks,
Bill
Document the architecture of the client to provide understanding to contributors.
On the dashboards page (/dashboards/$dashboardId), the breadcrumbs are displaying a hard-coded "Dashboard Name". It should be displaying the name of the dashboard.
To achieve this change, there likely needs to be a mutation to the breadcrumbs on mount, after the dashboard is fetched.
Improve our testing by allowing us to get a better view into code coverage. Integrate Stryker Mutator (https://stryker-mutator.io/docs/stryker-js/getting-started/) and create an NPM script for developers to scan their work and make their tests and code more robust.
Align with the client and migrate from Jest to Vitest on the backend. This will speed up our tests and enable features such as in-source testing and TypeScript type testing.
Improve our client-side testing by integrating Jest DOM ESLint plugin (https://testing-library.com/docs/ecosystem-eslint-plugin-jest-dom/).
Improve our client-side testing by integrating Testing Library's ESLint plugin (https://testing-library.com/docs/ecosystem-eslint-plugin-testing-library/).
Enable high-quality performance metrics on the client my integrating Web Vitals (https://github.com/GoogleChrome/web-vitals).
Consuming IoT App Kit dashboard currently pulls in every other module as a dependency. We need this to be tree-shakable.
Rework needed for the creation flow. It should match the cloudscape pattern.
User Action: Click "Create dashboard" → Fills the form → Dashboard created. The user goes back to the "List of dashboards" view page.
Newly created dashboard is pre-selected and the user clicks on "View" to edit the dashboard in the "Edit" mode.
Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1
Document the architecture of core
to provide understanding to contributors.
Notifications are expected to have the UX behavior (defined by Cloudscape)[https://cloudscape.design/components/flashbar/?tabId=usage].
There are two issues with our implementation:
useApplication
hook must understand that navigate
dismisses notifications. This is problematic when creating a dashboard, as a navigation needs to occur and then a success notification needs to appear. If the emission of the notification occurs before navigation, the notification will be dismissed. (note: this behavior is documented in the useApplication
hook.navigate
dismisses all notifications, but the UX guidance is to persist notifications relevant to pages across navigation. This will require adding context to the notification structure about which pages it should be visible on.Improve our usage of Tanstack Query by adding its ESLint plugin (https://tanstack.com/query/latest/docs/react/eslint/eslint-plugin-query).
Using Playwright's full-page snapshot feature:
The max number of characters for a dashboard name is currently set at 40
characters. We have decided this is too limiting and plan to increase it to 100
characters.
This may be accomplished by updating the Dashboard
entity on the back-end with a single line change. After making the change, while the server is live, run yarn gen:types
at the root of the project to complete the client-side change.
There are a few tests on core
which will need to be updated which catch 400 Bad Request
errors for the length validation.
Our import of the Amplify stylesheet, which is required for the login page, is impacting dashboard styling (e.g., component icon rendering). We need to resolve the conflicting styles.
Empty state when no widget is added or selected
Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1
Describe the bug
core dashboard definition is not aligned with @iot-app-kit/dashboard Dashboard definition
Expected behavior
Save/update endpoints should expect the same structure as @iot-app-kit/dashboard onSave
Single select option to select any dashboard and click “Delete” btn to delete. A modal will appear to confirm action. (No additional confirmation needed in the modal)
Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1
Add /playwright/.auth/user.json
and /apps/core/.cognito/db/us-west-2_h23TJjQR9.json
to .gitignore
.
Current state: Users are directed to an empty "View mode" state, even if they have no content or are creating the dashboard for the first time.
Proposed solution:
No content//Creating the dashboard for the first time:
Direct the users to the “edit mode” dashboard
NOTE: Left and right panels should remain closed in the empty state as well as when no widget is added or selected on the canvas.
With content:
Users are directed to the “View mode” where they will be able to view their saved dashboard and monitor their assets.
They can click on the “Edit” button to make any further changes to the dashboard
NOTE: Left and right panels should remain closed in the empty state as well as when no widget is added or selected on the canvas.
Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1
Core unit test failing in main after accidental merge of cognito-local dependency upgrade https://github.com/awslabs/iot-application/actions/runs/4802517305.
Please reach out for SVGs
Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1
Make it easier for us to create forms by integrating React Hook Form DevTools (https://react-hook-form.com/dev-tools/).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.