Commit Graph

29 Commits

Author SHA1 Message Date
null c4985e37bc feat: Phase 5 SPA fixes, mobile menu, assets, and redesign planning
- Fix BrowserRouter → RouterProvider (routes were disconnected)
- Strip TS generics from .jsx files (Card, Badge, Dialog, Input, Textarea)
- Fix useToast import from sonner (Contact, Support)
- Merge mobile Sheet into Header (DialogTrigger outside Dialog)
- Add SPA catch-all route for client-side navigation
- Add CSP style-src for Google Fonts
- Copy all image assets to public/ (were 404)
- Replace placeholder logo with real Queue North logo
- Fix SheetContent positional CSS + install tailwindcss-animate
- Add visually hidden SheetTitle for accessibility
- Update README and FUTURE.md with Phase 5 redesign batches
- Add review.md (redesign assessment, exempt from git)
2026-05-13 22:07:35 -05:00
null c2d5873f08 feat: error handling hardening, 404 catch-all, health check DB test, request timeout, global error handlers (v0.4.8) 2026-05-13 19:59:19 -05:00
null 7257633d94 feat: rate limiting, helmet security headers, CORS, trust proxy, Docker env vars (v0.4.7) 2026-05-13 18:37:32 -05:00
null 39ee1fe537 feat: structured logging with timestamps, request logging, and submission details (v0.4.6) 2026-05-13 18:31:52 -05:00
null 6bfd804313 feat: Zoho CRM forwarding layer with OAuth2 token management (v0.4.6) 2026-05-13 18:28:56 -05:00
null 4ac0fa250d feat: server-side validation + input sanitization (v0.4.5) 2026-05-13 18:18:07 -05:00
null ee5af44b58 docs: update README phase 4 checkmark for validation 2026-05-13 18:10:16 -05:00
null 931c9a9095 feat: client-side form validation + Sonner feedback (v0.4.4) 2026-05-13 18:10:04 -05:00
null 21b5418461 docs: update README phases with checkmarks for completed work 2026-05-13 18:03:03 -05:00
null 71347d070b chore: bump version to 0.4.3 (SQLite persistence verified) 2026-05-13 04:14:07 -05:00
null 87203bcded fix: consolidate legacy CSS, fix dynamic routes, convert anchors to Link components
- Remove duplicate App.css, consolidate into index.css as single Tailwind entry point
- Move maxWidth.container to tailwind.config.js theme extension
- Update App.jsx import from ./App.css to ./index.css
- Fix router.jsx to use dynamic :slug routes for services and industries
- Fix ServiceDetail.jsx and IndustryDetail.jsx to use useParams()
- Convert Header.jsx and MobileNav.jsx <a> tags to React Router <Link> components
- Add scripts/docker-test.sh for persistence verification
- Add project-requirements.md
2026-05-13 00:29:45 -05:00
null a7fa18ec63 chore: add .learnings/ to gitignore 2026-05-12 02:50:04 -05:00
null f03229dd50 feat: Phase 3 Batch 4 — inner pages layout system with consistent hero/card/CTA pattern (v0.3.4) 2026-05-12 02:45:25 -05:00
null 35aaa639ec feat: Phase 3 Batch 3 — header/footer/mobilenav polish + fix Button.jsx TS generics (v0.3.3)
- Sticky dark navy header with clean nav and CTA
- Reorganized MobileNav with Primary/Services/Industries sections
- Dark navy footer with cyan accent headers
- Added navy-light color token
- Fixed Button.jsx: removed TypeScript generic syntax that broke esbuild
- Replaced asChild Button usage with styled anchor tags
2026-05-12 02:39:35 -05:00
null 76aa71691f feat: Phase 3 Batch 2 — home page redesign with hero, trust bar, services, CTA (v0.3.2) 2026-05-12 02:31:23 -05:00
null 287e2b79f6 feat: Phase 3 Batch 1 — theme tokens, spacing scale, container width (v0.3.1) 2026-05-12 02:26:18 -05:00
null 0b7da4d237 chore: bump to v0.3.0 — Phase 3 Visual Overhaul baseline 2026-05-12 02:15:36 -05:00
null ba0d039cdc fix: reduce Docker image from 331MB to 215MB — remove duplicate node_modules layer
v0.2.2: Removed COPY --from=builder node_modules from runner stage.
The full dev+prod modules (116MB) were being copied as a permanent
Docker layer, then npm ci --omit=dev installed a separate prod-only
set on top. Now only the prod install runs, cutting 116MB.
2026-05-12 02:04:52 -05:00
null 1f3e3864f9 feat: Docker batch 0.2.1 — production-ready containerization
- Multi-stage Dockerfile with non-root nodejs user
- Healthcheck using Node 20 built-in fetch (no wget)
- docker-entrypoint.sh: root permission fix, then exec to nodejs
- server/db.js: deferred SQLite init for Docker volume permissions
- docker-compose.yml with named volumes for persistence
- .dockerignore and .env.example added
- README updated with Docker usage section

Security reviewed by Private Hudson. All blockers resolved.
2026-05-12 01:57:55 -05:00
null c83dc08660 feat: complete phase 2 layout rebuild 2026-05-12 01:18:57 -05:00
null d2bb91fd72 docs: track overhaul plan 2026-05-12 01:10:34 -05:00
null 8352558240 chore: keep project docs private 2026-05-12 01:09:21 -05:00
null bd17e964b3 chore: bump phase 1 checkpoint to 0.1.1 2026-05-12 01:05:44 -05:00
null b7f7765a72 feat: complete phase 1 foundation 2026-05-12 01:04:17 -05:00
null c8307e61d6 docs: add Queue North website objective 2026-05-12 00:34:46 -05:00
null b7dfee3023 update OVERHAUL_PLAN 2026-05-12 00:27:51 -05:00
null 7598dd4573 gitignore: exclude project management docs from repo 2026-05-12 00:01:39 -05:00
null 836ccd9856 project setup: PROJECT.md, STRUCTURE.md, FUTURE.md, HISTORY.md, DEVELOPMENT_LOG.md 2026-05-11 23:58:17 -05:00
null 0d3af33462 v0.0.1: project initialization 2026-05-11 23:56:42 -05:00