mirror of
https://github.com/hyperdxio/hyperdx
synced 2026-04-21 13:37:15 +00:00
This PR removes bootstrap-icons entirely from the app. It also adds an eslint plugin to detect uses and throw an error, this will help in the immediate short term with PRs in flight and merging downstream. Fixes HDX-3050
29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
# HyperDX Technology Stack
|
|
|
|
## Frontend (`packages/app`)
|
|
|
|
- **Framework**: Next.js 14 with TypeScript
|
|
- **UI Components**: Mantine UI library (`@mantine/core`, `@mantine/dates`, `@mantine/hooks`)
|
|
- **State Management**: Jotai (global client state), TanStack Query (server state), URL params (filters)
|
|
- **Charts/Visualization**: Recharts, uPlot
|
|
- **Code Editor**: CodeMirror (for SQL/JSON editing)
|
|
- **Styling**: Mantine's built-in system, SCSS modules when needed
|
|
- **Icons**: Use `@tabler/icons-react`
|
|
|
|
**UI Component Priority**: Mantine components first → Custom components on Mantine primitives → Custom SCSS modules as last resort
|
|
|
|
## Backend (`packages/api`)
|
|
|
|
- **Runtime**: Node.js 22+ with TypeScript
|
|
- **Framework**: Express.js
|
|
- **Database**: ClickHouse (telemetry data), MongoDB via Mongoose (metadata)
|
|
- **Authentication**: Passport.js with local strategy
|
|
- **Validation**: Zod schemas
|
|
- **Telemetry**: Self-instrumented with `@hyperdx/node-opentelemetry`
|
|
|
|
## Common Utilities (`packages/common-utils`)
|
|
|
|
- Shared TypeScript utilities for query parsing and ClickHouse operations
|
|
- Zod schemas for data validation
|
|
- SQL formatting and query building helpers
|
|
|