wrongmove/crawler/frontend
Viktor Barzin 150342bb9e
Refactor codebase following Clean Code principles and add 229 tests
- Extract helpers to reduce function sizes (listing_tasks, app.py, query.py, listing_fetcher)
  - Replace nonlocal mutations with _PipelineState dataclass in listing_tasks
  - Fix bugs: isinstance→equality check in repository, verify_exp for OIDC tokens
  - Consolidate duplicate filter methods in listing_repository
  - Move hardcoded config to env vars with backward-compatible defaults
  - Simplify CLI decorator to auto-build QueryParameters
  - Add deprecation docstring to data_access.py
  - Test count: 158 → 387 (all passing)
2026-02-07 20:19:57 +00:00
..
public add minimal working version where we fetch data and visualize it corectly 2025-06-15 12:48:52 +00:00
src Add post-logout redirect URI to OIDC config 2026-02-07 10:19:08 +00:00
.dockerignore make the app buildable for prod 2025-06-16 22:43:46 +00:00
.env.sample rename frontend directory to frontend 2025-06-14 15:43:14 +00:00
.gitignore rename frontend directory to frontend 2025-06-14 15:43:14 +00:00
Caddyfile.dev Add frontend and Caddy to Docker Compose dev environment 2026-02-06 23:45:29 +00:00
components.json install shadcdn and move login dialog to a separate component 2025-06-15 13:49:34 +00:00
Dockerfile disable login button whilst logging in 2025-06-17 19:15:18 +00:00
eslint.config.js rename frontend directory to frontend 2025-06-14 15:43:14 +00:00
index.html setup map component to render correctly and visualize all listings in scrollable components 2025-06-15 21:06:10 +00:00
nginx.conf make the app buildable for prod 2025-06-16 22:43:46 +00:00
package-lock.json Add passkey (WebAuthn) authentication with self-registration 2026-02-07 00:34:47 +00:00
package.json Add passkey (WebAuthn) authentication with self-registration 2026-02-07 00:34:47 +00:00
README.md rename frontend directory to frontend 2025-06-14 15:43:14 +00:00
start.sh fail start script if caddy is not installed 2025-06-14 15:52:27 +00:00
tsconfig.app.json make the app buildable for prod 2025-06-16 22:43:46 +00:00
tsconfig.app.tsbuildinfo Refactor codebase following Clean Code principles and add 229 tests 2026-02-07 20:19:57 +00:00
tsconfig.json rename frontend directory to frontend 2025-06-14 15:43:14 +00:00
tsconfig.node.json make the app buildable for prod 2025-06-16 22:43:46 +00:00
tsconfig.node.tsbuildinfo show spinner while running backgroun task 2025-06-23 19:45:53 +00:00
vite.config.ts Use localhost as dev origin instead of devvm.viktorbarzin.lan 2026-02-06 23:44: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:

Expanding the ESLint configuration

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

export default tseslint.config({
  extends: [
    // 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,
  ],
  languageOptions: {
    // other options...
    parserOptions: {
      project: ['./tsconfig.node.json', './tsconfig.app.json'],
      tsconfigRootDir: import.meta.dirname,
    },
  },
})

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 tseslint.config({
  plugins: {
    // Add the react-x and react-dom plugins
    'react-x': reactX,
    'react-dom': reactDom,
  },
  rules: {
    // other rules...
    // Enable its recommended typescript rules
    ...reactX.configs['recommended-typescript'].rules,
    ...reactDom.configs.recommended.rules,
  },
})