Fujimod
브라우저에서 카메라 펌웨어를 시험하고 Fujimod SD 부팅 파일을 만든다
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Zahrady Prahy — Gardens of Prague: an illustrated interactive atlas of 13 Prague community gardens with sourced visiting information. English and Czech. By Usnea communitas, z. s.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A living, illustrated map of Prague's community gardens.
Live: https://zahrady-prahy.vercel.app
Zahrady Prahy ("Gardens of Prague") is a storybook-style illustrated map of Prague with thirteen community gardens drawn on it. Click a garden and you get its illustration, a short description, practical visiting information where every fact carries its source and the date it was checked, and a link to the real location on a geographic map. The interface is in English by default and fully available in Czech.
?zahrada=liboza opens a garden directly (?garden=
is accepted as an alias); search, category and filters round-trip through
the URL too.+/-/0, panels return focus to where you came from, and status changes
(sound, full screen, copied link) are announced through aria-live
regions.People who want to explore Prague's community gardens and urban nature on their own, at their own pace. It is a project of Usnea communitas, z. s., a Czech nonprofit association focused on education, community and permaculture.
node:test runner, browser tests with
Playwright and axe, linting with
oxlint, formatting with oxfmtVERCEL=1 npm run build:vercel)No database, no backend, no third-party scripts at runtime. Fonts are downloaded at build time and self-hosted.
Requires Node.js 22.13 or newer.
npm ci # install exactly the locked dependencies
npm run dev # start the development server
npm test # run the unit tests (node --test)
npm run lint # oxlint, including type errors
npm run typecheck # tsc --noEmit
VERCEL=1 npm run build:vercel # production build as deployed on Vercel
npm run test:e2e # browser tests against that build
The browser tests need Chromium once: npx playwright install chromium.
npm run build and npm start produce and serve the Cloudflare Workers
variant of the build (the project scaffold's original target); the live site
uses the Vercel build.
app/
layout.tsx Metadata (English by default) and the locale provider
page.tsx The whole atlas: map, header, filters, details, dialogs
globals.css Base styles and atlas chrome
atlas.css, gallery.css, mobile.css
Structural, theme and phone-layout overrides
components/
i18n/ LocaleProvider (locale state, useT hook) and LanguageSwitcher
map/ MapViewport (pan/zoom, keyboard) and MapMotionLayer (boats, birds)
ui/ shadcn/Base UI primitives
lib/
i18n.ts Interface dictionary (en, cs), locale helpers, date formatting
gardens.ts The garden catalogue, categories, tags, filters and search
garden-visits.ts Visiting facts with sources and check dates, per garden
atlas-navigation.ts URL state: ?q, ?zahrada (alias ?garden), ?typ, ?filtry
webmcp.ts Optional read-only catalogue search for browsers with WebMCP
map/ Viewport maths, projection and river geometry
public/
map/, gardens/, audio/ Illustrations, sprites and the soundscape (see LICENSE-ASSETS.md)
tests/ Unit tests: catalogue, i18n, navigation, viewport
tests/e2e/ Browser tests (Playwright): smoke, layout, accessibility
docs/ Rebuild notes and media provenance (prompts and tools)
design/ Design tokens and theme reference
scripts/ One-off asset build scripts (sprites, map reference)
PRODUCT.md Product principles the project is held to
The catalogue is plain TypeScript, so a correction is a small pull request.
lib/gardens.ts. Every reader-facing text
is written in both languages ({ cs, en }). Names, neighbourhoods and street
addresses are proper nouns and stay in Czech; add an English gloss for the
name where it helps.lib/garden-visits.ts.
Each fact has a text in both languages, a state (published,
not-found or not-checked), one or more sources (URL and label) and
inherits the check date. Keep access, opening hours, entrance and
participation as separate facts; do not present the opening hours of a
wider site as the garden's own.GARDEN_VISIT_CHECKED_AT is the day all sources
were last verified. Update it only after re-checking every source; for a
single correction, mention the date you checked in the pull request.public/gardens/ (then run
node scripts/build-thumbnails.mjs for its list thumbnail), an entry in
artPositions (its editorial place on the drawing; the tests check that
west-bank gardens stay west of the river) and real lat/lon for the
map link.Contributions of verified data are very welcome, including corrections of hours that have changed. Please include the source URL and the date you checked it; the garden data issue template asks for exactly that if you would rather report than edit.
The interface has a small, dependency-free localisation layer:
lib/i18n.ts holds the typed dictionary. English defines
the shape; the Czech object must provide every key (TypeScript and a test
enforce this). Strings that depend on a number are functions, so Czech can
use its three plural forms.components/i18n/LocaleProvider.tsx
keeps the current language. The server always renders English; in the
browser a stored preference (localStorage key zahrady.lang) is applied
after hydration and <html lang> follows it. useT() returns the
dictionary for the current language, useLocale() also returns the locale
and the setter.aria-pressed buttons and
announces the change politely in the language just chosen.Localized fields in
lib/gardens.ts and lib/garden-visits.ts) and resolved with the locale.To add a string, add it to the en object in lib/i18n.ts; the compiler
will tell you where the Czech version is missing. To add a third language,
extend locales, add a dictionary and a translation for every Localized
content field.
What is live today:
Deliberate gaps and what comes next:
There are no usage statistics, testimonials or visitor numbers to report, and none are invented.
Bug reports, data corrections and pull requests are welcome. Please read
CONTRIBUTING.md for the workflow and the principles the
project is held to (truthfulness over completeness, nothing autoplays,
nothing collects data, accessibility is preserved), and the
Code of Conduct. Security concerns go to the address in
SECURITY.md.
Before opening a pull request, run npm test, npm run lint,
npm run typecheck, VERCEL=1 npm run build:vercel and npm run test:e2e.
public/:
CC BY-NC-SA 4.0, copyright (c) 2026 Martin Pazderník.
Their provenance, including the tools and prompts used, is documented in
docs/visual-generation-prompts.md.Usnea communitas, z. s. is a Czech nonprofit association (registered in Prague in 2026) devoted to education, communities, nature and permaculture. Zahrady Prahy is one of its open projects; the source lives in the usnea-communitas organisation on GitHub. Contact: [email protected].