Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Map of 1,705 coffee shops, bakeries, and tea houses in Metro Atlanta. One static page. Hosted on Cloudflare Workers.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
caffeye is a map of coffee shops, bakeries, and tea houses in Metro Atlanta. It is one web page. Use it to find a good place quickly.
The application is a static HTML page. It has no build step and no backend. It uses Leaflet and Leaflet.markercluster from a CDN.
The map shows each venue as a pin. The color and the emoji of the pin show the category. There are six categories: Coffee, Roasters, Bakery+Cafe, Tea/Boba, Dessert Cafe, and Specialty.
You can filter the venues by category. You can also filter by these features:README 전문 보기 ↗caffeye is a map of coffee shops, bakeries, and tea houses in Metro Atlanta. It is one web page. Use it to find a good place quickly.
🌐 Live site: https://duluth-coffee-shoppes.sra-e69.workers.dev
The application is a static HTML page. It has no build step and no backend. It uses Leaflet and Leaflet.markercluster from a CDN.
The map shows each venue as a pin. The color and the emoji of the pin show the category. There are six categories: Coffee, Roasters, Bakery+Cafe, Tea/Boba, Dessert Cafe, and Specialty.
You can filter the venues by category. You can also filter by these features:
The list shows only the venues that are in the map view. The list order is the Bayesian weighted rating, from high to low. This formula is the same as the IMDB Top 250 formula. The list does not have a sort control.
The September 2026 dataset has 1,705 venues in 14 counties. The page shows 970 independent venues by default. To show all 1,705 venues, set the Include franchise stores toggle to on.
The data comes from two files:
public/shops.json contains 61 curated seed venues in the Duluth area.public/places.json contains regional venues. A script makes this file from Google Places data.If the page cannot load the regional data, it shows the 61 seed venues. By default, 41 of these venues are independent. A banner tells you that the coverage is partial.
The page calculates all counts, the region name, and the verification month from the JSON files. These counts are for September 2026 only. After a data refresh, use the data-summary procedure in TESTS.md to get the new counts.
The page loads JSON files. Thus, you must use an HTTP server. Do not open the file directly.
Go to the public directory in the repository:
cd public
Start the server:
python3 -m http.server 8765
Open http://127.0.0.1:8765 in a browser.
To see the vector map preview, add ?renderer=vector to the URL. This preview uses MapLibre GL JS and OpenFreeMap tiles.
Do these steps in the repository root:
Install the dependencies:
npm ci
Install the Playwright browser:
npx playwright install chromium
Run the tests:
npm test
The npm test command runs the Python unit tests first. Then it runs the Playwright browser tests. GitHub Actions runs the same tests for each push and each pull request to main.
Cloudflare Workers static assets hosts the site. When you push to main, Cloudflare deploys the site automatically.
The wrangler.jsonc file sets assets.directory to ./public/. Cloudflare publishes only the files in public/. The scripts and the documents stay private.
To deploy manually (for example, for an urgent fix), do this command in the repository root:
wrangler deploy
⚠️ Warning: Do not run
wrangler deployin thepublic/directory. Wrangler publishes all files in the assets directory. The.wrangler/cache contains an OAuth token. If this cache is inpublic/, Wrangler publishes the token.
public/shops.json. Each venue must have these data:
independent or franchise)cw block for the work datalate block, if the venue is open after 10 pmwebsite valueaddr. Add its area to neighborhoods.CLGeocoder). Do not estimate coordinates. For more data, see PRODUCT.md §8.public/places.json manually. A script makes this file. To change the regional data, edit scripts/curations.json. Then run scripts/discover_places.py in replay mode. CLAUDE.md gives the procedure.checkedMonth only after you verify the data of that source.To find venues that need editorial research, run this command:
python3 scripts/curate_places.py --research-queue
The command shows the ten highest-ranked independent venues that do not have work data. It shows the place ID, the address, and the website and map links of each venue. The command does not use the network and does not change data. Verify the amenities before you add an overlay.
caffeye/
├── public/ # published files only
│ ├── index.html # application shell; loads the two datasets
│ ├── maplibre-preview.js # optional ?renderer=vector preview
│ ├── shops.json # curated Duluth seed and fallback data
│ ├── places.json # regional data that a script makes
│ ├── manifest.webmanifest # PWA manifest
│ ├── favicon.ico
│ └── brand/ # logos, icons, social images, and tokens
├── brand/ # source brand packages
├── scripts/ # discovery, curation, rating refresh, and Python tests
├── tests/ # Playwright browser tests
├── .github/workflows/ci.yml # GitHub Actions test workflow
├── package.json # test commands
├── playwright.config.js # Playwright configuration
├── wrangler.jsonc # Cloudflare configuration (assets.directory = ./public)
├── README.md # this file
├── PRODUCT.md # product principles and design decisions
├── REQUIREMENTS.md # numbered requirements
├── TESTS.md # tests for each requirement
├── DESIGN.md # visual design system
└── CLAUDE.md # operation notes for AI sessions
?renderer=vector)MIT. See LICENSE.