# CLAUDE.md Context for Claude Code sessions in this repo. Keep this short. Longer notes live in `docs/`. ## Project A help desk dashboard for ManageEngine ServiceDesk Plus Cloud (`ithelp.mainecc.edu`). It currently runs as a single Node/Express server. The central region (KVCC, EMCC, CMCC, MCCS) is configured through `.env`. - **Goal:** multi-region, multi-user, customisable. See `docs/ROADMAP.md`. - **Decisions, API gotchas and known issues:** `docs/NOTES.md`. Read it before touching any SDP query. - **Latest session summary and handoff:** `SESSION.md`. ## Run ```text npm install npm run app # node src/server.js from the repo root; .env lives in the repo root ``` The app is served at . Sign in with the Connect button, which uses Zoho's device-code flow. ## Layout - `src/server.js`: reads `.env` and starts everything. - `src/auth.js`: Zoho device-code sign-in. - `src/boardService.js`: token, state and refresh timers. - `src/tickets.js`: all SDP queries (closed feed, status table, closed today, unassigned). - `src/weather.js`: OpenWeatherMap, cached for 10 minutes. - `src/routes.js`: the `/api/*` routes. - `src/public/index.html`: the whole front end in one file (inline CSS and JS, no build step). ## Working agreements - Never print or commit `.env` values (Zoho client secret, OpenWeatherMap key). Redact them when inspecting. - There are no automated tests yet. Verify server logic by stubbing `axios.get`. Resolve axios from the project with `require.resolve('axios', { paths: [dir] })` so the stub hits the same instance. Verify the page by evaluating its `