ec7ebd7013
Project map had drifted: claimed recharts unused (was used), ObservabilityPage.tsx
exists (refactored to service-tabs/), missed JellyfinNowPlayingWidget +
authentik/backups service types. Regenerate to reflect post-change reality:
new Qbittorrent/LineSeriesChart/Prometheus{Gauge,Mean}Widget files,
service_data.py/qbittorrent_store.py, canonical prometheus-charting +
service-storage specs, archived changes.
3.9 KiB
3.9 KiB
frontend
dir: frontend
index: frontend/.pi-map.index.md
role
Frontend single-page application built with React, Vite, and TypeScript that serves as the "Manage" UI, styled with Tailwind CSS and shadcn/ui components.
files
- .gitignore | Specifies files and directories for Git to ignore in a Node.js/frontend project
- Dockerfile | Multi-stage Dockerfile for building and serving a Vite-based frontend application with separate production (nginx) and development (node dev server) targets | dep: node:22-alpine, nginx:1.27-alpine, npm, vite
- README.md | Documentation for the Manage frontend SPA, describing its tech stack, setup, pages, configuration, and deployment workflow. | dep: React, TypeScript, Vite, @tanstack/react-query, @tanstack/react-table, react-router-dom, Tailwind CSS, shadcn/ui
- components.json | Configuration file for shadcn/ui component library setup with Tailwind CSS and path aliases | dep: shadcn/ui, tailwindcss, lucide-react, radix-ui
- eslint.config.js | Configures ESLint for a TypeScript React project using Vite with recommended rules for JS, TS, React Hooks, and React Refresh. | dep: @eslint/js, globals, eslint-plugin-react-hooks, eslint-plugin-react-refresh, typescript-eslint, eslint/config
- index.html | Standard HTML entry point for a React/Vite single-page application named "Manage" | dep: React (implied by root div and TSX entry), Vite (implied by module script and /src path)
- nginx.conf | Configures Nginx as a reverse proxy serving static files and forwarding API requests to a backend service | dep: nginx
- package-lock.json | Locks exact dependency versions and integrity hashes for a React/Vite frontend project to ensure reproducible installs. | dep: react, react-dom, @tanstack/react-query, @tanstack/react-table, recharts, radix-ui, shadcn, oidc-client-ts, vite, vitest, tailwindcss, typescript
- package.json | Defines the package configuration, dependencies, and scripts for a React frontend application. | dep: react, react-dom, @tanstack/react-query, @tanstack/react-table, react-router-dom, oidc-client-ts, react-oidc-context, radix-ui, shadcn, tailwindcss, recharts, vite, vitest, typescript
- postcss.config.cjs | Configures PostCSS to use Tailwind CSS and Autoprefixer plugins for CSS processing | dep: postcss, @tailwindcss/postcss, autoprefixer
- tailwind.config.cjs | Configures Tailwind CSS to scan source files for class names and defines theme/plugins settings. | dep: tailwindcss
- tsconfig.app.json | TypeScript configuration file for a React application using Vite with strict linting rules and path aliases | dep: typescript, vite, react
- tsconfig.json | Root TypeScript configuration file for a project using project references to delegate to separate app and node configurations. | dep: typescript
- tsconfig.node.json | TypeScript configuration for Vite's Node.js-based build tooling | dep: typescript, vite, node
- vite.config.ts | Configures Vite build tool with React, Tailwind CSS, environment-based API proxying, and path aliasing for a frontend application. | dep: path, vite, @vitejs/plugin-react, @tailwindcss/vite
- vitest.config.ts | Configures Vitest test runner for a React project with jsdom environment, path aliasing, and scoped test file inclusion. | dep: path, vitest/config, @vitejs/plugin-react, vitest, jsdom
arch
Component-based SPA architecture using Vite for bundling, Nginx reverse proxy for production serving with API forwarding, PostCSS/Tailwind for styling, Vitest for testing, and Docker multi-stage builds for deployment.
tags
react, vite, typescript, frontend, project, configuration, @tanstack, path
symbols
workflows
- change frontend behavior read: .gitignore, Dockerfile, eslint.config.js
- change frontend config read: components.json, eslint.config.js, package-lock.json
- explore frontend subdirectories index: frontend/public/.pi-map.index.md, frontend/src/.pi-map.index.md, frontend/tests/.pi-map.index.md