Museum Timeline
Interactive Art History Web App
An interactive timeline of art movements from ancient history to the modern era — with curated artworks, artist biographies, and historical context. Built for IS117 at NJIT and deployed live on GitHub Pages.
View Live SiteTimeline, Era Detail, and Compare — three distinct interaction modes covering discovery, depth, and analysis.
Static front-end served at dhruvi0805.github.io/museum — zero build step to run locally.
Unified dark-mode stylesheet with smooth scrolling via Lenis and image carousels for artwork display.
Museum Timeline is a static web application that guides visitors through major art movements chronologically. Each era features curated artworks, artist biographies, and historical context — presented in an elegant dark-mode UI with smooth scrolling and image carousels.
Art history resources online are dense, poorly structured, and rarely designed for casual exploration. Museum Timeline makes art history discoverable — letting visitors browse chronologically, dive into a single movement, or compare two eras side-by-side.
Scrollable overview of all art eras with a sticky sidebar navigation — the primary discovery surface.
Deep dive into a single movement — artworks, artist biographies, and historical context in one layout.
Side-by-side comparison of any two movements — letting visitors see contrasts in style, period, and influence at a glance.
All era and artwork data lives in one JSON file — edited directly, then compiled into a static data module for the site.
Static front-end pages with a unified stylesheet — no build step required to run locally. Open index.html directly in a browser or serve with npx serve .
Component layer lives in src/components/movements/ — React components for the carousel, timeline nav, and movement cards. The era detail page uses a Next.js component at src/app/detail/.
Deployed to GitHub Pages from the main branch. Pushing to main updates the live site automatically. Live at: dhruvi0805.github.io/museum
All era and artwork data lives in content/eras.json — the single source of truth. The static pages consume a generated copy at src/data/data.js.
Edit content/eras.json directly with updated era metadata, artworks, or artist info. Never edit src/data/data.js by hand — it is overwritten on every build.
Run npm run build:data to regenerate src/data/data.js from the master JSON. This syncs all static pages to the latest content automatically.
Run npm run check-images to validate all artwork image URLs using Axios — catching broken Wikimedia Commons links before they reach production.
Commit both content/eras.json and src/data/data.js and push to main. GitHub Pages automatically deploys the updated site.
index.html— Timeline landing pagedetail.html— Era detail page templatecompare.html— Compare two movementsstyle.css— Unified stylesheet
content/eras.json— Master data sourcesrc/js/— Page logic (app, detail, compare)src/components/movements/— React componentsscripts/— sync-data & check-image-urls