autotq-modern-ejs/PROJECT.md

126 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PROJECT.md — autotq-modern-ejs
## 1) Site overview
- Stack: Node/Express + EJS templates + single global CSS/JS.
- Brand/entity: **AutoTQ** / Golden Hour Medical, Inc.
- Content model: all factual content (team, literature, testimonials, news, video links, image URLs) is sourced from `site.config.js` and rendered by views.
- Goal of this refresh: unified premium feel, less visual noise, stronger but accessible red brand surfaces, consistent logo/header/hero treatment.
## 2) File structure (repo map + one-liners)
### Root
| File | Purpose |
|---|---|
| `README.md` | Short project description. |
| `PROJECT.md` | This project/source-of-truth document. |
| `site.config.js` | Central site data: brand, contact, assets, nav, team, literature, videos, testimonials/news. |
### Public assets
| File | Purpose |
|---|---|
| `public/css/style.css` | Global design system + all component/page styling. |
| `public/js/main.js` | Mobile nav, sticky header state, reveal animations, contact form submit. |
### Views (pages)
| File | Purpose |
|---|---|
| `views/layout.ejs` | Global HTML shell; injects header/footer and page body. |
| `views/index.ejs` | Home page (hero, proof points, video, updates, testimonials, CTA). |
| `views/about.ejs` | Redirect-style About page pointing to `/about-autotq`. |
| `views/about-autotq.ejs` | Main product/about narrative with stats. |
| `views/company.ejs` | Team grid and company gallery. |
| `views/contact.ejs` | Contact details + inquiry form. |
| `views/literature.ejs` | Download/open literature docs from config. |
| `views/news.ejs` | News timeline from config links. |
| `views/articles.ejs` | External source article links list. |
| `views/research.ejs` | Research summary links (occlusion + first-time user). |
| `views/firsttimeusers.ejs` | Source-linked summary page. |
| `views/occlusion.ejs` | Source-linked summary page. |
| `views/testimonials.ejs` | Testimonials grid from config data. |
| `views/training.ejs` | Training summary/source link page. |
| `views/shop.ejs` | External shop source link page. |
| `views/hannah.ejs` | Team profile page. |
| `views/laresa.ejs` | Team profile page. |
| `views/jamie.ejs` | Team profile page. |
| `views/gabriella.ejs` | Team profile page. |
| `views/devin.ejs` | Team profile page. |
| `views/nandini.ejs` | Team profile page. |
| `views/max.ejs` | Team profile page. |
| `views/nick.ejs` | Team profile page. |
| `views/carisse.ejs` | Team profile page. |
### Views partials
| File | Purpose |
|---|---|
| `views/partials/header.ejs` | Unified top nav + brand/logo + contact CTA. |
| `views/partials/footer.ejs` | Footer with logo, nav list, contact details. |
## 3) Navigation structure
- **Primary header nav (refresh):**
- `/` Home
- `/about-autotq` About
- `/company` Company
- `/research` Research
- `/literature` Literature
- `/news` News
- `/testimonials` Testimonials
- `/contact` Contact CTA
- **Additional pages (accessible via content/footer/config):** `/articles`, `/training`, `/shop`, `/firsttimeusers`, `/occlusion`, team profile slugs.
## 4) Design system
- **Colors (CSS vars):**
- Brand red: `--brand-red #c81919`
- Strong red: `--brand-red-strong #a90f0f`
- Red surfaces: `--bg-alt #ffe4e4`, `--brand-red-soft #ffe0e0`
- Text: `--text #1d1111`, muted `--muted #5a4040`
- **Typography:** Inter/system sans stack, large editorial headings, readable paragraph rhythm.
- **Spacing:** container max 1160px; section vertical rhythm `~4rem5rem` desktop.
- **Core components:** sticky header, pill nav links, strong red CTA buttons, card panels (`.glass-card`), page hero band, timeline cards, team/gallery grids.
## 5) CSS architecture
- Single stylesheet (`public/css/style.css`) with:
1. Tokens/variables (`:root`)
2. Global/reset/layout utilities
3. Header/nav system
4. Hero/page-hero/section systems
5. Component styles (cards, buttons, forms, timeline, grids)
6. Footer system
7. Motion/accessibility states
8. Responsive breakpoint block (`max-width: 980px`)
## 6) JS functionality
- Mobile nav open/close + ESC/outside click close.
- Sticky header “scrolled” class toggle.
- IntersectionObserver reveal-on-scroll.
- Contact form async POST to configured endpoint with status states.
## 7) Content map per page
- `index`: hero value prop, proof stats, deployment video embed, updates, testimonials, CTA.
- `about-autotq`: product overview + feature cards + stats.
- `company`: team cards (from config) + gallery images.
- `research`: links to occlusion and first-time-user source summaries.
- `literature`: downloadable docs.
- `news/articles`: external source links.
- `contact`: business contact + inquiry submission form.
- profile pages (`/hannah`, etc.): image/name/role/bio from config.
## 8) Image/media inventory (current usage)
- **Logo:** `config.assets.logo` (header/footer/home hero badge).
- **Core images:** `hero`, `product`, `videoThumb`.
- **Team headshots:** `hannah`, `laresa`, `jamie`, `gabriella`, `devin`, `nandini`, `max`, `nick`, `carisse`.
- **Company gallery:** `company1`..`company7`.
- **Video embeds:** `config.videos[*].embedUrl` (YouTube embed on home).
- **Literature docs:** `config.literature[*].url` (external document URLs).
## 9) Known issues / TODOs
- Confirm all configured nav items in `site.config.js` align with intended IA; header currently uses a curated primary set to reduce clutter.
- Team profile templates are duplicated per person; could be consolidated into a single dynamic profile route/template.
- Add automated visual regression checks for responsive nav and hero spacing.
- Consider moving external media URLs to local managed asset pipeline if required by deployment policy.
## 10) Refresh changes implemented in this update
- Unified header/nav treatment with larger, consistently visible logo and simplified primary navigation.
- Removed noisy motion/parallax behavior from JS and home hero for cleaner experience.
- Increased brand red usage via hero/page bands, CTA/button gradients, and section accents while preserving contrast.
- Standardized component styling (cards, sections, buttons, form controls, timeline, grid spacing) for cross-page consistency.
- Added home hero logo badge for stronger brand presence above fold.