A modern web console for Topaz
- Node.js (LTS version recommended)
- Clone the repository:
git clone [email protected]:aserto-dev/topaz-console.git
cd topaz-console
- Install dependencies:
yarn install
Check the .env` file
VITE_REACT_APP_DISCOVERY_SERVICE_URL #topaz console service gateway address
To start the development server:
yarn dev
The application will be available at http://localhost:3000
To create a production build:
yarn build
The build output will be in the dist
directory.
yarn dev
- Start development serveryarn build
- Create production buildyarn preview
- Preview production buildyarn lint
- Run ESLintyarn check
- TypeScript type checkingyarn generate:rest
- Generate REST API typesyarn detect-unused-exports
- Detect unused exports
The project uses Vitest for testing and MSW (Mock Service Worker) for API mocking.
# Run tests in watch mode
yarn test
# Run tests once
yarn test:ci
# Run tests with coverage
yarn test:coverage
- Tests are located alongside components in
*.test.tsx
files - API mocks are generated using Orval and located in
src/api/*.msw.ts
- Test utilities and custom render functions are in
src/testing/
Component Tests
- Use
renderWithProviders
fromsrc/testing/render
for consistent test setup - Mock API calls using MSW handlers
- Test both success and error scenarios
- Framework: React 19
- Language: TypeScript
- Build Tool: Vite
- Styling: Styled Components, Bootstrap
- State Management: React Query
- Routing: React Router
- API Client: Orval
- Linting: ESLint
- Formatting: Prettier
- Topaz
- React Documentation
- TypeScript Documentation
- Vite Documentation
- React Query Documentation
- Styled Components Documentation
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the Apache License - see the LICENSE file for details.