# File Map Use this as a quick locator before making changes. ## Root - `package.json`: scripts, dependencies, electron-builder config, product metadata. - `package-lock.json`: npm dependency lock. - `vite.config.js`: Vite renderer config. - `index.html`: Vite app HTML entry. - `README.md`: old Create React App boilerplate; partially stale. - `Usage.md`: release usage notes; ignored by git but present. - `deployment.md`: deployment note; very terse. - `update-targets.md`: historical GraphQL target load example. - `SGI.md`: SGI-related domain notes. - `electron-builder.pack-check.cjs`: no-publish local packaging config for `npm run pack`. - `.gitignore`: generated artifacts and local secret files. ## Electron - `electron/main.js`: chooses source or bundled main process. - `electron/main-src.js`: main process source of truth. - `electron/preload.js`: chooses source or bundled preload. - `electron/preload-src.js`: context bridge for IPC/logger. - `electron/ipc-main-handler.js`: shared IPC registration. - `electron/electron-store.js`: async ESM-compatible electron-store wrapper. - `electron/analytics.js`: Amplitude analytics IPC. - `electron/changelog.json`: versioned release notes. - `electron/licenses.txt`: third-party notice content shown in the app. - `electron/file-watcher/`: chokidar watcher and watcher IPC. - `electron/file-scan/`: manual scan/delete estimate file logic and IPC. - `electron/decoder/`: DBF estimate decoding and ruleset application. - `electron/claims-clerk/`: line-level alert rules. - `electron/audit/`: audit spreadsheet dialog/parsing IPC. - `electron/estimate-scrubber/`: external estimate scrubber API integration. - `electron/notification-wrapper/`: native notification helper. ## Renderer Entrypoints - `src/index.jsx`: React root, Redux Provider, MemoryRouter, PersistGate, Sentry renderer. - `src/App/App.jsx`: Apollo provider, AntD theme/app provider, auth check, top-level IPC side effects. - `src/App/App.styles.scss`: app-level styles. - `src/index.css`: global CSS. ## Renderer Components - `src/components/pages/routes/routes.page.jsx`: authenticated app shell and routes. - `src/components/pages/jobs/`: main jobs page. - `src/components/pages/reporting/`: reporting page. - `src/components/pages/audit/`: audit page. - `src/components/pages/scan/`: scan page. - `src/components/pages/settings/`: settings page. - `src/components/pages/admin/`: admin page. - `src/components/pages/sign-in/`: sign-in page. - `src/components/organisms/jobs-list-latest/`: latest jobs infinite list. - `src/components/organisms/jobs-list-search/`: search jobs infinite list. - `src/components/organisms/jobs-detail/`: selected job detail panel. - `src/components/organisms/watcher-manager/`: file watcher controls. - `src/components/organisms/shop-settings/`: shop settings workflows. - `src/components/organisms/update-manager/`: updater UI. - `src/components/organisms/notification-modal/`: notification UI. - `src/components/molecules/jobs-lines-table/`: jobline table. - `src/components/molecules/estimate-scruber-results/`: estimate scrubber results UI. Note the folder name contains `scruber`. - `src/components/molecules/estimate-scrubber-button/`: estimate scrubber action. - `src/components/molecules/reporting-dates/`: reporting date range picker. - `src/components/templates/error-boundary.template.jsx`: app error boundary. - `src/components/templates/ipc-upsert-job/`: IPC import/upsert template. ## State - `src/redux/store.js`: store, saga middleware, logger, persist store. - `src/redux/root.reducer.js`: combines reducers. - `src/redux/root.saga.js`: combines sagas. - `src/redux/application/`: watcher/app/update/selection/scrubber state. - `src/redux/user/`: auth/bodyshop/targets/notifications/dark mode. - `src/redux/reporting/`: report/audit/scorecard state. - `src/redux/scan/`: scan state. ## GraphQL and Auth - `src/graphql/GraphQLClient.js`: Apollo links, auth, retry, Sentry, cache policies. - `src/graphql/jobs.queries.js`: job queries/mutations. - `src/graphql/joblines.queries.js`: jobline mutations. - `src/graphql/bodyshop.queries.js`: shop and notifications. - `src/graphql/user.queries.js`: user upsert/auth lookup. - `src/graphql/reporting.queries.js`: reporting queries. - `src/graphql/notification.queries.js`: notification acceptance. - `src/graphql/veh_group.queries.js`: vehicle groups. - `src/firebase/firebase.utils.js`: Firebase auth/app setup. ## IPC - `src/ipc.types.json`: canonical IPC channel map. - `src/ipc.types.js`: ESM wrapper. - `src/ipc.types.commonjs.js`: CommonJS wrapper. - `src/ipc/ipc-renderer-handler.js`: central renderer IPC listeners. - `src/ipc/ipc-estimate-utils.js`: estimate upsert and close-date GraphQL helpers. ## Utilities and Assets - `src/util/antdFeedback.js`: context-safe AntD message/notification bridge. - `src/util/day.js`: day/date setup. - `src/util/CalculateJobRps.js`: RPS calculation utility. - `src/util/GetJobTarget.js`: target calculation utility. - `src/util/decimalPrecision.js`: numeric precision utility. - `src/util/sorters.js`: table/list sort helpers. - `src/assets/`: app logos/images. - `src/icons/`: app icons by platform/size. - `public/`: web app static files. ## Hasura and Firebase - `hasura/config.yaml`: Hasura project config. - `hasura/config.yaml.prod`: production Hasura config. - `hasura/metadata/`: tracked Hasura metadata. - `hasura/migrations/default/`: active SQL migrations. - `hasura/migrations_backup/`: historical migration backup. - `firebase/functions/`: Firebase functions project. - `firebase/firebase.json`: Firebase config. ## Generated/Ignored - `build/`: renderer production output. - `dist-electron/`: bundled Electron main/preload output. - `dist/`: electron-builder output. - `node_modules/`: dependencies.