You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.1 KiB

RESILIENCE — Microsite

Single-page institutional microsite for the RESILIENCE research project (Residential Energy-Efficiency Strategies Incorporating Lifecycle Sustainability and Circular Economy), INESC Coimbra.

  • Project code (Streamline): SLC20260008
  • Client: INESC Coimbra — Álvaro Gomes
  • Methodology: Spec-Driven Development — see specs/

Stack

Vite · React · TypeScript · Tailwind CSS v4 · shadcn/ui · @tanstack/react-router · framer-motion · lucide-react.

Getting started

npm install
npm run dev      # dev server (http://localhost:5173)
npm run build    # type-check (tsc -b) + production build
npm run preview  # preview the production build

Requisito: Node.js ≥ 18 e npm instalados e disponíveis no PATH.

Docker (funcionamento isolado — recomendado)

Não requer Node no host: o build corre dentro da imagem (multi-stage node→nginx).

docker build -t resilience-microsite .
docker run --rm -p 8080:80 resilience-microsite   # http://localhost:8080
# ou:
docker compose up --build

Ver specs/06-deployment.md para detalhes.

Structure

src/
  data/project.ts         # conteúdo canónico (fonte: input_files/)
  lib/                    # utils + scroll helper
  components/
    ui/                   # primitivos shadcn (button, card, badge, dialog, sheet)
    layout/               # Header, Footer, Section
    sections/             # Hero, Goal, WorkPlan, Gantt, Indicators
  App.tsx                 # composição da single page
  router.tsx              # @tanstack/react-router (rota /)

Sections

Header (anchors: Home · Work plan · Indicators) → Hero → Goal & contribution → Work plan (cards + interactive Gantt) → Indicators (clickable cards) → Footer (partners + funding).

Notes

  • Conteúdo em inglês; fonte de verdade em input_files/ (não inventar conteúdo).
  • Logos dos parceiros são placeholders até serem fornecidos (ver specs/CHANGELOG.md).
  • Paleta navy institucional definida em src/index.css (afinável).