UI for crafting and running ADR queries.
- Next.js 14
- NextUI v2
- Tailwind CSS
- React DnD
- Zustand
- Immer
- Tailwind Variants
- TypeScript
- Framer Motion
- next-themes
The project strictly adheres to semantic HTML structure (headings, lists, etc.), making it easier for screen readers and assistive technologies to interpret content. Keyboard Navigation: All interactive elements can be accessed and used with a keyboard alone, ensuring that users who cannot use a mouse can still navigate the application.
- Color Contrast: Color choices for text and background meet or exceed minimum contrast ratios for readability, accommodating users with visual impairments.
- Alternative Text: All images have descriptive alternative text (alt text) to convey their meaning to users who cannot see them.
- ARIA Attributes: Where appropriate, ARIA (Accessible Rich Internet Applications) attributes are used to provide additional context for assistive technologies.
- Focus Management: The focus is programmatically managed to ensure a smooth and predictable navigation experience for keyboard-only users.
- Internationalization (i18n): Support for multiple languages to reach a broader audience.
- Responsive Design: Ensures the application looks and functions well on various screen sizes (desktops, tablets, mobile devices).
- Unit/Integration Testing: Tests that validate the functionality of individual components and their interactions.
To get started, follow these steps:
Before cloning/forking this project, make sure you have the following tools installed:
-
Clone this repository and the ui library to your local machine:
git clone https://github.com/opencdx/ADR-gui.git git clone https://github.com/opencdx/ui-library.git
-
Install the project dependencies using npm in both ui-library and ADR-gui:
npm install
-
Start the app
npm start
-
Open your web browser and visit http://localhost:3000 (or the URL in the cosole) to access the application
-
To use development host use
npm run startDev
-
Start the Playwright
npx playwright test --project=chromium --headed -
Open your web browser to access the application
Helps you manage the size of your JavaScript modules. It generates a visual report of the size of each module and their dependencies. You can use the information to remove large dependencies, split your code, or only load some parts when needed, reducing the amount of data transferred to the client.
-
To run
npm run build