mirror of
https://github.com/Lapikud/tipilan.git
synced 2026-03-23 13:24:21 +00:00
792f14be3e7c4efce263987a8bb8c187a815d219
TipiLAN
Official website for TipiLAN — Estonia's largest student-organised LAN event.
Work in progress. Event date: September 11, 2026.
Tech Stack
- Next.js 16 — App Router, SSG, Turbopack
- React 19
- TypeScript 5
- Tailwind CSS 4
- next-intl — ET / EN localisation
- react-icons
Requires Node.js ≥ 22.
Quickstart
npm install
npm run dev
Open http://localhost:3000 — redirects to /et by default.
Scripts
npm run dev # Dev server (Turbopack, localhost:3000)
npm run build # Production build (outputs SSG for /et and /en)
npm start # Serve production build
npm run lint:fix # ESLint with auto-fix
Project Structure
src/
app/[locale]/ # Locale-based pages (et, en)
components/teaser/ # HeroSection, CarouselSection, EndSection, Footer
components/ # LanguageSwitcher, TeaserPage
i18n/ # next-intl routing + request config
lib/ # blurPlaceholders.ts (auto-generated)
proxy.ts # next-intl routing middleware
translations/ # et.json, en.json
public/images/
backgrounds/ # Full-viewport background WebPs
heros/ # Character/hero image WebPs
flags/ # Language switcher SVGs
original/ # Original PNG sources (not served)
scripts/ # Image processing utilities
Image Utilities
When adding or replacing images, re-run:
# Convert new PNGs → WebP (quality 85)
node scripts/convert-images.mjs
# Regenerate blur placeholders for all images
node scripts/gen-blur-placeholders.mjs
Localisation
Translation files live in translations/et.json and translations/en.json.
Routing is handled by src/proxy.ts — / redirects to /et (default locale).
Description
Languages
TypeScript
97.4%
CSS
2.3%
JavaScript
0.3%