Herdr UI
Herdr의 TUI가 뛰어나며, 창을 통해 추가되는 기능
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Frontend for Sobek — Entur's national vehicle registry (Nasjonalt Materiellregister).
• React 19 + TypeScript
• Vite
• Material UI v7
• GraphQL (graphql-request)
• OIDC authentication (react-oidc-context)
Requires a running Sobek backend (default: http://localhost:37999).
docs/architecture.html is a standalone, interactive diagram of the component architecture — from App.tsx down through the generic wrappers (GenericDataViewPage, GenericDetailsPage) to every feature view. Open it in a browser (it loads D3 from a CDN); click a widget chip to expand its detail.README 전문 보기 ↗Work in progress
Frontend for Sobek — Entur's national vehicle registry (Nasjonalt Materiellregister).
↻ Deployment(s) : dev
💡 Sandbox/mind-maps : entur.github.io/hathor
graphql-request)react-oidc-context)npm install
npm run dev # Dev server on http://localhost:5000
Requires a running Sobek backend (default: http://localhost:37999).
| Command | Description |
|---|---|
npm run dev | Start dev server (uses dev API) |
npm run local | Start dev server (uses local Sobek at 127.0.0.1:37999) |
npm run build | Type-check and build (build/) |
npm run lint | ESLint |
npm run format | Prettier auto-format |
npm run e2e | Playwright tests (mocked GraphQL) |
npm run e2e:local-backend | Playwright tests against a live local Sobek |
docs/architecture.html is a standalone, interactive diagram of the component architecture — from App.tsx down through the generic wrappers (GenericDataViewPage, GenericDetailsPage) to every feature view. Open it in a browser (it loads D3 from a CDN); click a widget chip to expand its detail.
Keeping it in sync: the diagram is driven by docs/architecture-data.js, a generated metafile. When routes or views change in src/App.tsx, regenerate it with npm run gen:arch. See the RUN section of the JSDoc header in scripts/gen-arch-metafile.mjs for details.
Hathor's src/ mixes two organizational styles. Before adding files, know which one you're touching.
Vertical (feature) folders:
auth/ — OIDC bootstrap, ProtectedRoute, login flow, auth utilities.config/ — runtime config fetch (fetchConfig.ts).theme/ — createThemeFromConfig, MUI theme module augmentation (theme-config.d.ts).data/<feature>/ — production domain folders (vehicles/, vehicle-types/, deck-plans/, vehicle-imports/). Each holds the data hook, view config, editor, cells, types, and View + Details components for one entity.graphql/ — GraphQL operations grouped by feature.locales/ — i18next translation files (en/, nb/).Horizontal (file-kind) folders:
components/ — UI components grouped by sub-area (data/, search/, header/, sidebar/, dialogs/, common/, auth/).hooks/ — global hooks shared across features.pages/ — generic infrastructure (GenericDataViewPage, GenericDetailsPage) and the Home page. Entity Views live in data/<feature>/, not here.utils/ — domain-neutral helpers (iconLoaderUtils.ts).contexts/ — top-level React contexts not yet hosted in feature folders (configContext, CustomizationContext, EditingContext, SessionContext).static/ — static assets.Where new files go:
data/<feature>/. Data hook, view config, editor, cells, types, and the View component live together. Add a route in App.tsx.pages/.hooks/. Single-feature hook → next to its caller in data/<feature>/.*Types.ts file → next to its primary consumer. Feature types under data/<feature>/; types that pair with shared infrastructure go with that infra (e.g. pages/viewConfigTypes.ts, graphql/paginationTypes.ts, components/data/dataTableTypes.ts). Don't recreate src/types/..tsx. No JSX → .ts.Some contexts (configContext, CustomizationContext) and a few hooks haven't migrated to their feature folders yet — see OPEN_QUESTIONS.md for tracked design ambiguities.
Hathor is a fork of Inanna, Entur's React data-registry starter. Extending it — new entity views, theming, custom icons — follows the Inanna extend-fork workflow; see DEV_GUIDE.md for the pointer.
Known design ambiguities are tracked in OPEN_QUESTIONS.md.