Skip to content
davi-macielPublic

About

Acervo de problemas do Campeonato de Física (CF) — campdfis.ipho.com.br

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Campeonato de Física

Acervo dos problemas do Campeonato de Física (CF) — uma lista pesquisável dos enunciados de cada edição. Mesmo visual do Small World. Destinado a ser hospedado em campdfis.ipho.com.br.

Commands

npm run dev              # Next.js dev server
npm run build            # Static export to out/
npm run build:problems   # Regenerate src/data/problems.json from the manifest

Architecture

Next.js App Router with static export (output: 'export'), Tailwind v4, deployed as a static site on Vercel — mirrors the Small World stack.

Data pipeline (scripts/)

  • scripts/manifest.ts — the source of truth. Maps each original CF statement PDF to canonical {year, number, group} metadata, keeping the inconsistent original names in one auditable place.
  • scripts/build-problems.ts — validates the manifest and writes src/data/problems.json (committed, imported statically by the frontend). The statement PDFs under public/cf/<year>/ are committed alongside.

Frontend (src/)

  • src/app/page.tsx — Server Component, imports problems.json, passes to App.
  • src/components/App.tsx — root client component with the tab shell.
  • src/components/table/ProblemTable.tsx — sortable, filterable problem table.
  • src/config/cf.ts — single source of truth for group labels and colors.
  • src/types/problem.ts — TypeScript types.

Conventions

  • User-facing text in Portuguese (pt-BR); code/comments in English.
  • Path alias @/* → ./src/*.

About

Acervo de problemas do Campeonato de Física (CF) — campdfis.ipho.com.br

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages