mirror of
https://github.com/Lapikud/tipilan.git
synced 2026-05-08 10:00:46 +00:00
46b701dc50d06e524edb68e9d2723454f8f17e47
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 Bun.
Quickstart
bun install
bun dev
Open http://localhost:3000 — redirects to /et by default.
Scripts
bun dev # Dev server (Turbopack, localhost:3000)
bun run build # Production build (outputs SSG for /et and /en)
bun start # Serve production build
bun 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)
bun scripts/convert-images.mjs
# Regenerate blur placeholders for all images
bun 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%