Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
אתר היערכות לחופשת הסקי בגודאורי, גאורגיה (טיסה ב-10.1.2027), בשבילי ובשביל החברים. • האתר החי ב-claude.ai: https://claude.ai/artifact/1uDUdt45A2c77zooPZBGYK • קנבס העיצוב: https://claude.ai/artifact/TVdeDbFBhvFDZdhCKjcys4README 전문 보기 ↗
אתר היערכות לחופשת הסקי בגודאורי, גאורגיה (טיסה ב-10.1.2027), בשבילי ובשביל החברים.
| תיקייה | מה בה |
|---|---|
site/ | האתר עצמו, בארבע שפות: index.html, css/, js/ (i18n.js בוחר שפה ומתרגם, telemetry.js מדידה ושגיאות, snow.js השלג על השלטים והכרטיסים), i18n/ (קבצי השפה, נוצרים מ-i18n/strings.json), data/ (הנתונים כקבצי JSON; data/resorts.json היא רשימת אתרי הסקי, וכל אתר מלבד גודאורי בתיקייה data/resorts/<id>/, החלטה 68) ו-img/pano/ (בתוכה soelden/ לאתר השני) (הנוף מהכפר, שבע שעות ביום בשני רוחבים). audio/ הם צלילי כרטיס הטיסה. games/ הם המשחקים, שנבנים מ-design/ (ראו למטה) |
app/android/ | אפליקציית האנדרואיד החדשה, נייטיב מלא (Kotlin עם Jetpack Compose, המפה ב-OpenGL ES 3). המפה, המשחק הראשון, דף הבית, "הטיול שלך", כניסה וקבוצות (מול השרת), בארבע שפות; נשארו המשחקים הנוספים, נקודת המפגש ומצב הרכבלים (docs/STATUS.md, שלב 13). משתמשת בנתוני האתר לקריאה בלבד. התכנון ב-docs/APP-NATIVE.md; גרסת האייפון תהיה ב-app/ios/ |
server/ | השרת (Supabase): מבנה הנתונים וההרשאות, והשרת עצמו, פונקציה אחת ב-TypeScript עם כל הפעולות של החשבונות והקבוצות (החלטה 40), והבדיקות. הפרויקט פועל. ההסבר ב-server/README.md, ואיך מדברים איתו (לכל אפליקציה ולאתר) ב-server/CONTRACT.md |
chatgpt/ | התיקייה שעליה עובד ChatGPT: אפליקציית האנדרואיד שלו (chatgpt/android-native/), להשוואה. Claude לא נוגע בה |
i18n/ | ארבע השפות (עברית, אנגלית, רוסית, גאורגית): מילון מונחים ושמות המסלולים בכל שפה (glossary.md), כל המחרוזות של האתר בקובץ אחד (strings.json), דף החנות ברוסית ובגאורגית, ובדיקה (python3 i18n/check.py). הרוסית והגאורגית לא נבדקו על ידי דובר, ולפי החלטה 39 לא מחכים לזה (הסימון check בקובץ נשאר מידע). מחובר לאתר, למשחקים ולאפליקציה |
tools/ | כלים: build-videos.py בונה את קובץ הסרטונים ואת research/videos.md מ-videos-curated.json. build-games.py מעתיק את המשחקים שאושרו לאתר. build-app-data.py מעתיק את נתוני האתר לאפליקציות, לקריאה בלבד. build-site-strings.py בונה את קבצי השפה של האתר (site/i18n/) מ-i18n/strings.json, ו-check-site-i18n.py בודק שאין באתר טקסט בלי מפתח. build-privacy.py בונה את דף הפרטיות (site/privacy.html) מ-docs/PRIVACY.md. build-resort.py בונה אתר סקי נוסף מהמפה הפתוחה וממודל גובה, לפי קובץ ב-tools/resorts/ (החלטה 68; דורש numpy, Pillow ו-scikit-image, ו-tifffile למודל גובה לאומי). התהליך המלא לאתר חדש: .claude/skills/new-resort/SKILL.md. ב-Sella Ronda: בחירת אזור מתוך Dolomiti Superski, הסרת שמות הסבבים, מסלול לפי שם, צבע מהרשימות הרשמיות (research/resorts/sellaronda-official.json) ומודל הגובה TINITALY של 10 מ׳. בקובץ ההגדרות גם מאגר רכבלים רשמי, אם יש (lift_registry, ב-Sölden של Land Tirol), וצעד הרשת לתלת-ממד (mesh_stride) |
.claude/ | הכנת סשן בענן: התקנת כלי הבדיקה של האתר ושל ערכת הפיתוח של אנדרואיד (hooks/session-start.sh) |
.github/workflows/ | בדיקות האתר (tests.yml), בנייה וחתימה של אפליקציית האנדרואיד (android.yml), בדיקות השרת (server.yml) והמשימה היומית של השרת (server-keepalive.yml). כל אחד רץ רק כשהתיקייה שלו משתנה |
tests/ | בדיקות Playwright. רצות אוטומטית בגיטהאב בכל דחיפה, בארבעת המצבים (.github/workflows/tests.yml) |
research/ | כל המידע שנאסף: מסלולים, רכבלים, המסלולים החסרים, מקורות, ציוד, פרומפטים, ונותני שירות בגודאורי (providers.md) |
docs/ | סטטוס עבודה, כולל מי עובד על מה עכשיו (STATUS.md), הוראות לכל שלב (HANDOFF.md) מפרט הפיצ'רים (FEATURES.md) ורעיונות לעתיד (ROADMAP.md), ויישור הקו בין האתר, האפליקציות והשרת (PARITY.md). מבנה המערכת והחלטות טכניות: ARCHITECTURE.md, של ארכיטקט המערכת (ROLE-ARCHITECT.md), והצוות המקצועי ומי פעיל בו עכשיו (TEAM.md). תפעול השירותים החיים, מה עושים כשמשהו נופל, ויומן תקלות: OPERATIONS.md. תכנון לסשנים נפרדים: האפליקציה המקורית החדשה (APP-NATIVE.md) משתמשים, חיבור וקבוצות (USERS.md) והצמיחה (GROWTH.md). גוגל פליי (), אפל ו-App Store () ומדיניות הפרטיות (, טיוטה) |
design/ | העיצובים: הסקיצות הראשונות, השפה המאוחדת, קבצי הקנבס, תצוגות מקדימות וצילומי מסך |
design/round3/panorama.py), שמשתנה לפי השעה בגודאורי: בוקר, צהריים, שעת זהב, שקיעה ורודה ולילה עם כוכבים ואורות בכפר. כרטיס הטיסה כמו כרטיס עלייה למטוס: כרטיס הלוך וכרטיס חזור שלמים, אחד מאחורי השני, שמתחלפים בנגיעה, וספח עם ספירת ימים שנתלש בנגיעה, עם צלילים ורטט. בלילה הכרטיס כהה עם הדפס זוהר. ורשימת החברים. שלט הכוונה לחלקי האתר.#map/run/<שם>)./api/status (פונקציה שתיכתב כשהדף של MTA יעבוד בדצמבר). עד אז, ובכל פעם שאין נתון עדכני, שלטים מושלגים ו"אין מידע". לא מנחשים.#meet/...). בלי מסד נתונים.#games): חמשת המשחקים, כל אחד בעמוד משלו (site/games/<שם>/): הירידה של החבר׳ה, בית הספר לסקי, שלג טרי, איחוד כדורי שלג וקרב כדורי שלג. השיאים נשמרים רק בדפדפן./privacy, באנגלית /privacy#en): נבנית מ-docs/PRIVACY.md, עם קישור מדף הבית ומעמוד האודות.#about): צליל, רטט, מצב תצוגה ואיפוס שיאים (חלים גם על המשחקים, דרך site/js/prefs.js), מי בנה את האתר, וכל הקרדיטים והרישיונות.לוח PostHog מודד פתיחות ושימוש; הורדות והתקנות מהחנות נבדקות ב־Google Play Console. הגדרות המדדים והשאילתות. הקלטת Sentry באנדרואיד היא בהסכמה נפרדת, כבויה כברירת מחדל ומוגבלת למסכי משחקים; המפה ומידע אישי אינם מוקלטים.
תהליכי הבנייה והאמולטור תומכים בהרצת חלק שנכשל, שימוש ב־APK שכבר נבנה ומצב אבחון ידני. תיעוד CI ו־Replay.
הנתונים נטענים ב-fetch, ולכן צריך שרת מקומי. אין שלב בנייה.
npm install
npm start
ואז לפתוח את הכתובת http://127.0.0.1:4173.
בדיקות: הבדיקה המלאה (ארבעת המצבים) רצה ב-GitHub בכל דחיפה. מקומית רק מה שהשתנה, במצב אחד: npm run test:quick -- tests/<קובץ>.spec.ts (אפשר להוסיף -g "<שם>"); npm test מריץ הכל בארבעת המצבים, וזה איטי בסביבת הענן. בדיקות השפות: python3 i18n/check.py ו-python3 tools/check-site-i18n.py (רצות גם ב-GitHub).
משחקים: המקור של כל משחק ב-design/games/ (ומשחק הגלישה ב-design/round4/game/). אחרי כל שינוי במשחק, מעתיקים אותו לאתר:
python3 tools/build-games.py
site/js/vendor/). אם הוא לא נטען, האתר עובר אוטומטית למבט על.אתר סטטי, בלי בנייה:
siteנתונים: "הטיול שלך" נשמר בדפדפן בלבד (gud-trip), ודף הבית מציג את הכרטיס של מי שמסתכל או כרטיס ריק. הטיסה והשמות של החבר׳ה ירדו מהאתר (החלטה 27, סבב 12); עותק לקנבס ב-design/data/trip.json. הסרטונים ב-site/data/videos-seed.json. האתר מציג אותם לקריאה בלבד, ולעדכון עורכים את הקובץ ועושים commit. הפריסה ב-Vercel אוטומטית בכל מיזוג ל-main. התחברות ומסד נתונים הם רעיון לעתיד (docs/ROADMAP.md).
פירוט מלא ב-research/sources.md.
PLAY.md