Skip to content

Denny-Hwang/git-science-park

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

38 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿงช Git Science Park

An interactive learning platform for the landmark experiments of science โ€” learn by doing, not by reading.

Live Demo Experiments Eras Languages Dependencies License: MIT

From Eratosthenes measuring the circumference of the Earth to imaging a black hole and computing with qubits โ€” 65 interactive labs where you manipulate science history instead of just reading it.

๐Ÿ”— Live demo: https://denny-hwang.github.io/git-science-park/


๐Ÿ“– About

Git Science Park is a static web platform for learning 65 pivotal experiments in the history of physics, by manipulating each one directly in the browser.

What

Every experiment is not just text and figures but an interactive simulation where you change variables and observe the outcome. Each lab guides the learner through an active loop:

Manipulate        โ†’        Observe        โ†’        Interpret
change variables          watch results            understand the
& design the run          & gather data            principle yourself

Why

Science is not a body of conclusions to memorize โ€” it is the process of questioning, experimenting, and interpreting. By re-creating and varying the great moments of discovery, Git Science Park helps learners internalize why those conclusions were reached.

Highlights

Feature Description
๐Ÿงซ 65 experiments From the birth of measurement to the extremes of modern physics and quantum computing
๐Ÿ•ฐ๏ธ 9 eras Ancient โ†’ Scientific Revolution โ†’ Precision Era โ†’ Energy & Field โ†’ Atomic โ†’ Quantum โ†’ Relativity โ†’ Modern โ†’ Quantum Computing
๐Ÿ—‚๏ธ 3-tab layout ๐ŸŽฎ Interactive ยท ๐Ÿ“š Principles ยท ๐Ÿ“œ History
๐ŸŒ 10 languages English (default), Korean, Chinese, Japanese, Spanish, Hindi, Russian, Hebrew, Portuguese, Arabic โ€” with RTL support
๐ŸŽ“ Classroom mode Focus/present mode, printable worksheet, lesson playlist, teacher guide
โ™ฟ Accessible WCAG 2 AA verified (axe-core), color-blind palette, prefers-reduced-motion
๐Ÿ“ฆ Zero dependencies No libraries, frameworks, or build tools โ€” pure HTML/CSS/JS
๐Ÿ”Œ Offline-capable Each experiment is a self-contained HTML file
๐Ÿ“ฑ Responsive Works on mobile, tablet, and desktop

๐Ÿ›๏ธ The 9 eras

Icon Era Experiments Tagline
๐Ÿ›๏ธ Ancient 4 Birth of measurement and geometry
๐Ÿ”ญ Scientific Revolution 7 Experiment meets mathematics
โš—๏ธ Precision Era (18th c.) 5 The age of precise measurement
๐Ÿ”ฅ Energy & Field (19th c.) 7 Energy and fields
โš›๏ธ Atomic Age 9 The ultimate structure of matter
๐ŸŒŠ Quantum Mechanics 12 The making of quantum theory
๐ŸŒŒ Relativity & Cosmology 7 Relativity and the cosmos
๐Ÿ”ฌ Modern Physics 7 Exploring the extremes
๐Ÿ–ฅ๏ธ Quantum Information & Computing 7 Computing with qubits
Total 65

A few examples: ๐ŸŒ Eratosthenes, ๐ŸŽ Newton's gravitation, ๐ŸŒˆ Newton's prism, ๐Ÿงฒ Faraday induction, โš›๏ธ Rutherford scattering, ๐Ÿฑ Schrรถdinger equation, โ˜๏ธ hydrogen orbitals, ๐Ÿงญ Bloch sphere & qubit gates, ๐Ÿ”Ž Grover's search, ๐Ÿ” quantum teleportation, ๐Ÿ” BB84 key distribution, ๐Ÿ•ณ๏ธ black-hole imaging (EHT), ๐Ÿงฉ Higgs boson.


โœจ Key features

๐ŸŒ Internationalization (i18n)

The entire UI is translated into 10 languages with a top-right dropdown; the choice persists in localStorage. Arabic and Hebrew switch the document to RTL automatically. A dependency-free engine (i18n.js) drives data-i18n attributes from per-locale JSON dictionaries. (Note: the UI chrome is translated; each experiment's scientific body content stays in its original language.)

๐ŸŽ“ Classroom mode

A ๐ŸŽ“ Classroom button on every page opens four teacher tools:

  • Focus / Present mode โ€” hide chrome and go fullscreen for projection
  • Printable worksheet โ€” Predict ยท Observe ยท Interpret ยท Notes + name/date
  • Lesson playlist โ€” collect experiments, reorder them, and run them in sequence
  • Teacher guide โ€” per-experiment era ยท scientist ยท difficulty ยท key questions

โ™ฟ Accessibility & performance

  • WCAG 2 AA verified across the hub and all experiment pages with axe-core (0 serious/critical violations)
  • Color-blind palette toggle (Okabe-Ito), keeping non-color cues (icons, text, stars)
  • prefers-reduced-motion respected site-wide
  • Canvas requestAnimationFrame loops pause when the tab is hidden (low-end-device friendly)

๐Ÿ“š "Learn more" links

Each experiment links out to curated Wikipedia (EN/KO), a YouTube search, and โ€” where relevant โ€” an authoritative source (CERN, LIGO, EHT, NASA, Nobel Prize).


๐Ÿ› ๏ธ Tech stack

A pure static website that runs directly in the browser with no build step.

  • HTML5 โ€” semantic markup
  • CSS3 โ€” responsive layout, dark hub / light experiment themes
  • Vanilla JavaScript (ES6+) โ€” no frameworks
  • Canvas API โ€” 2D physics & quantum simulations
  • SVG โ€” precise diagrams

Zero dependencies โ€” no npm install, bundler, or transpiler for the site itself. Each experiment is a self-contained single HTML file that also works offline. The only added shared assets are dependency-free: i18n.js, a11y.js, classroom.js, and classroom.css.

Cross-browser: automatically verified on Chromium ยท Firefox ยท WebKit in CI.


๐Ÿš€ Getting started

1. View the live demo

No setup required:

๐Ÿ‘‰ https://denny-hwang.github.io/git-science-park/

2. Run locally

Clone the repo and serve the src/ folder with any static server. (Files are self-contained, but a static server is recommended so the hub's fetch-based metadata loads correctly.)

git clone https://github.com/Denny-Hwang/git-science-park.git
cd git-science-park

Pick whichever you prefer:

# Option A โ€” Python 3 built-in server
python3 -m http.server 8000 --directory src

# Option B โ€” Node.js (serve)
npx serve src

# Option C โ€” VS Code Live Server extension
#   open src/index.html and click "Go Live"

Then open:

http://localhost:8000

๐Ÿงช Developing & testing

The site ships zero runtime dependencies; the only dev tooling is for automated QA (Playwright) and accessibility auditing (axe-core), declared in package.json and run in CI โ€” never deployed.

npm install
npx playwright install --with-deps chromium firefox webkit

# serve the site, then:
python3 -m http.server 8000 --directory src &

npm test          # cross-browser QA: tab behavior, 0 console errors, hub checks (Chromium/Firefox/WebKit)
npm run test:a11y # accessibility audit: WCAG 2 A/AA via axe-core

Both run automatically on every push via .github/workflows/qa.yml, alongside GitHub Pages deployment (.github/workflows/deploy.yml).


๐Ÿ“‚ Project structure

git-science-park/
โ”œโ”€โ”€ README.md                    # this document
โ”œโ”€โ”€ CONTRIBUTING.md              # contribution guide
โ”œโ”€โ”€ CHANGELOG.md                 # change history
โ”œโ”€โ”€ LICENSE                      # MIT
โ”œโ”€โ”€ package.json                 # dev/test tooling only (Playwright, axe-core)
โ”œโ”€โ”€ tests/
โ”‚   โ”œโ”€โ”€ qa.mjs                   # cross-browser page QA
โ”‚   โ””โ”€โ”€ a11y.mjs                 # WCAG AA audit
โ”œโ”€โ”€ docs/                        # project documentation (Korean)
โ”‚   โ”œโ”€โ”€ 01-planning/             # PRD, roadmap, user stories
โ”‚   โ”œโ”€โ”€ 02-design/               # architecture, data model, UI
โ”‚   โ”œโ”€โ”€ 03-development/          # setup, coding standards, Git workflow
โ”‚   โ””โ”€โ”€ 04-experiments/          # per-experiment notes
โ”œโ”€โ”€ src/                         # deploy root (the static site)
โ”‚   โ”œโ”€โ”€ index.html               # hub page
โ”‚   โ”œโ”€โ”€ data/
โ”‚   โ”‚   โ””โ”€โ”€ experiments.json     # metadata for all 65 experiments
โ”‚   โ”œโ”€โ”€ assets/
โ”‚   โ”‚   โ”œโ”€โ”€ css/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ exp.css           # shared experiment styles (opt-in)
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ classroom.css     # top bar, language switcher, classroom mode
โ”‚   โ”‚   โ”œโ”€โ”€ js/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ i18n.js           # 10-language translation engine
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ a11y.js           # color-blind palette + reduced-motion helpers
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ classroom.js      # classroom mode (4 tools)
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ exp.js            # shared experiment helpers (opt-in)
โ”‚   โ”‚   โ””โ”€โ”€ i18n/                 # per-locale dictionaries (en, ko, zh, ja, es, hi, ru, he, pt, ar)
โ”‚   โ””โ”€โ”€ experiments/             # experiment pages by era
โ”‚       โ”œโ”€โ”€ 01-ancient/
โ”‚       โ”œโ”€โ”€ 02-scientific-revolution/
โ”‚       โ”œโ”€โ”€ 03-precision-era/
โ”‚       โ”œโ”€โ”€ 04-energy-field/
โ”‚       โ”œโ”€โ”€ 05-atomic/
โ”‚       โ”œโ”€โ”€ 06-quantum/
โ”‚       โ”œโ”€โ”€ 07-relativity/
โ”‚       โ”œโ”€โ”€ 08-modern/
โ”‚       โ””โ”€โ”€ 09-quantum-computing/
โ””โ”€โ”€ .github/
    โ””โ”€โ”€ workflows/
        โ”œโ”€โ”€ deploy.yml           # GitHub Pages auto-deploy (uploads ./src)
        โ””โ”€โ”€ qa.yml               # cross-browser QA + accessibility gate

Experiment page paths follow src/experiments/{category}/{slug}.html (e.g. src/experiments/01-ancient/01-eratosthenes.html; the hub links to ./experiments/01-ancient/01-eratosthenes.html).

Documentation

(The documents above are currently written in Korean.)


๐Ÿค Contributing

New experiments, simulation improvements, documentation, and bug reports are all welcome. Experiment pages follow the experiment template and register their metadata in src/data/experiments.json.

See CONTRIBUTING.md for branch strategy, commit conventions, and the PR process.


๐Ÿ—บ๏ธ Roadmap

Milestone Status Highlights
v1.0 โœ… Done 53 experiments ยท hub ยท 3-tab layout ยท responsive ยท GitHub Pages
v1.1 โœ… Done Physics-correctness review ยท shared shell ยท cross-links ยท hub UX ยท QA CI
v2.0 โœ… Done 10-language i18n ยท classroom mode ยท WCAG AA + color-blind ยท reduced-motion/perf ยท cross-browser CI ยท "Learn more" links
Quantum expansion โœ… Done New Quantum Computing era + more quantum mechanics โ†’ 65 experiments

Next candidates: translating experiment body content ยท quiz/assessment mode ยท worksheet PDF export ยท further domains (condensed matter, particle physics, beyond physics).

See ROADMAP.md for details.


๐Ÿ“„ License

Released under the MIT License. See LICENSE for details.

Copyright (c) 2026 Sungjoo (Dennis) Hwang

Releases

Packages

Contributors

Languages