Skip to content

Repository files navigation

proiect-web-dev

An interactive weather application built with SvelteKit 5 and TypeScript. It shows current conditions for your location or any searched city, renders them on an interactive MapLibre map with markers, cluster layers, popups and routes, and ships an in-app chat assistant with streaming AI responses. A Hono-based API layer proxies and validates OpenWeatherMap data, and the app deploys to Cloudflare Workers or Node.

Features

  • Current weather by geolocation or city search (OpenWeatherMap)
  • Interactive MapLibre GL map: markers, cluster layers, popups, fly-to navigation, route rendering
  • AI chat assistant with streaming responses and automatic retry/backoff on rate limits
  • Search history persisted to localStorage with quick re-select
  • Weather-aware theming, light/dark mode toggle, Celsius/Fahrenheit unit toggle
  • Typed API integration: the OpenWeather OpenAPI spec compiled with openapi-typescript, consumed through a Hono backend with Valibot-validated request schemas
  • shadcn-svelte UI components (buttons, cards, inputs, selects, scroll areas)

Tech Stack

  • SvelteKit 5 (Svelte runes), TypeScript
  • Hono (API proxy) with Valibot validation, openapi-fetch / openapi-typescript
  • MapLibre GL for map rendering
  • Tailwind CSS 4 + shadcn-svelte (bits-ui)
  • Deployment: Cloudflare Workers (@sveltejs/adapter-cloudflare + wrangler.toml) or Node (@sveltejs/adapter-node)

Quickstart

bun install
cp .env.example .env   # set OPENWEATHER_KEY (OPENROUTER_API_KEY enables the AI assistant)
bun run dev
  • bun run build / bun run preview — production build and preview
  • bun run check — type-check with svelte-check
  • Cloudflare Workers deployment is configured via wrangler.toml

License

Private repository.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages