Marketing site and interactive timeline for the Plantiful project — the award‑winning plant care platform built by high school students. This site highlights the open-source resources behind the product.
src/
├── app/
│ ├── [locale]/layout.tsx # Locale-scoped root layout + SEO metadata
│ ├── [locale]/page.tsx # Landing page sections and timeline
│ └── api/intl/route.ts # next-intl routing helpers
├── components/ # Reusable UI primitives (timeline, buttons, cards)
├── data/
│ └── timelineData.tsx # Milestones, assets and translations glue
├── i18n/ # Locale config + message loading
├── lib/ # Utilities (cn helper, smooth scroll setup)
└── styles/ # Global Tailwind layers and resets
public/
├── Plantiful.svg # Wordmark used across the site
├── PhoneShowcase.png # High-res hero devices
├── timeline/ # Timeline imagery & FEKT poster
└── locale JSON catalogs live in /messages (cs.json, en.json)
Install dependencies (Node 18+ recommended):
npm installStart the dev server:
npm run dev- Locale messages live in
messages/en.jsonandmessages/cs.json. Keys map to sections (hero, intro, timeline, footer, etc.). Keep both files in sync when updating copy. - Timeline milestones are described in
src/data/timelineData.tsxand leverage the translation helpers:toParagraphssplits rich text into paragraphs.getHighlights/getLinkspull arrays from locale JSON.TimelineMilestoneContenthandles responsive media lightboxes and resource cards.
- Decorative SVGs and phone renders reside in
public/. When swapping imagery ensure alt text keys exist in both locales (timeline.gallery.*).
- Tailwind CSS drives layout (
tailwind.config.ts, global styles insrc/styles). - Smooth scrolling relies on Lenis (
src/components/SmoothScroll.tsx). - Ambient parallax and artifact layers live in
src/components/ui, using Framer Motion for subtle animations.
next-intlpowers routing and locale detection (src/i18n/routing.ts,middleware.ts).- Locale segments (
/[locale]) map to messages viagetMessages. - Add new languages by creating
messages/<lang>.jsonand updatingrouting.ts.
This website is open source, released under the MIT License.