dak.c2s/frontend
CCS Admin 5da1e523d3 feat: implement Gutachten-Statistik page with KPIs and charts
Add full statistics page replacing placeholder: 4 KPI cards (total, Bestätigung,
Alternative, Uncodiert), stacked bar chart for gutachten types per KW, donut chart
for type distribution, grouped bar chart for therapy changes per KW, and horizontal
bar chart for therapy change reasons. Includes new backend endpoint and service
function combining sheet3/sheet4 data with KPI aggregation. Also adds feature
roadmap todo.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 12:37:08 +00:00
..
e2e test: add Playwright E2E tests (auth, dashboard, cases, admin) 2026-02-26 21:44:25 +00:00
public fix: replace favicon with updated version 2026-02-26 17:56:23 +00:00
src feat: implement Gutachten-Statistik page with KPIs and charts 2026-02-28 12:37:08 +00:00
.gitignore feat: frontend setup — React, Vite, TypeScript, Tailwind CSS v4, shadcn/ui 2026-02-24 08:14:36 +00:00
components.json feat: frontend setup — React, Vite, TypeScript, Tailwind CSS v4, shadcn/ui 2026-02-24 08:14:36 +00:00
eslint.config.js feat: frontend setup — React, Vite, TypeScript, Tailwind CSS v4, shadcn/ui 2026-02-24 08:14:36 +00:00
index.html feat: add custom favicon for DAK Zweitmeinungs-Portal 2026-02-26 17:52:19 +00:00
package.json test: add Playwright E2E tests (auth, dashboard, cases, admin) 2026-02-26 21:44:25 +00:00
playwright.config.ts test: add Playwright E2E tests (auth, dashboard, cases, admin) 2026-02-26 21:44:25 +00:00
pnpm-lock.yaml test: add Playwright E2E tests (auth, dashboard, cases, admin) 2026-02-26 21:44:25 +00:00
README.md feat: frontend setup — React, Vite, TypeScript, Tailwind CSS v4, shadcn/ui 2026-02-24 08:14:36 +00:00
tsconfig.app.json feat: add Vitest testing infrastructure 2026-02-26 21:05:50 +00:00
tsconfig.json feat: frontend setup — React, Vite, TypeScript, Tailwind CSS v4, shadcn/ui 2026-02-24 08:14:36 +00:00
tsconfig.node.json feat: frontend setup — React, Vite, TypeScript, Tailwind CSS v4, shadcn/ui 2026-02-24 08:14:36 +00:00
vite.config.ts feat: frontend setup — React, Vite, TypeScript, Tailwind CSS v4, shadcn/ui 2026-02-24 08:14:36 +00:00
vitest.config.ts feat: add Vitest testing infrastructure 2026-02-26 21:05:50 +00:00

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])