ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Aplikacja webowa do prowadzenia lekcji polskiego na projektorze: koło fortuny do powtórek, prezentacje lekcji ze slajdami zadań i stoperem, kalendarz lekcji per klasa, statystyki uczniów. Działa w przeglądarce (także Chrome 109 na Windows 7). Dane trzymane w localStorage przeglądarki - do czasu podpięcia Supabase. Eksport/import całej bazy do JSON jest w Ustawieniach.檢視完整 README ↗
Aplikacja webowa do prowadzenia lekcji polskiego na projektorze: koło fortuny do powtórek, prezentacje lekcji ze slajdami zadań i stoperem, kalendarz lekcji per klasa, statystyki uczniów.
Działa w przeglądarce (także Chrome 109 na Windows 7). Dane trzymane w localStorage przeglądarki - do czasu podpięcia Supabase. Eksport/import całej bazy do JSON jest w Ustawieniach.
npm install
npm run dev
Aplikacja: http://localhost:5173
Testy i build:
npm run typecheck
npm test
npm run build
Projekt to statyczny build Vite. W Vercel: Framework = Vite, build npm run build, output dist.
Framework preset w Vercel: Vite (nie Next.js). Plik vercel.json przekierowuje wszystkie ścieżki na index.html (routing po stronie klienta).
Bez zmiennych środowiskowych aplikacja działa lokalnie (localStorage, bez logowania). Żeby włączyć synchronizację z Supabase:
supabase/migrations/0001_init.sql (SQL Editor)..env.example do .env.local i wpisz VITE_SUPABASE_ANON_KEY
(Project Settings -> API -> anon public). W Vercel dodaj obie zmienne w Environment Variables.Każda zmiana w aplikacji jest wysyłana do chmury z opóźnieniem 400 ms. Status widać na dole paska bocznego. Offline zmiany czekają i idą po powrocie sieci.
| Trasa | Co robi |
|---|---|
/ | Pulpit: dzisiejsze lekcje, kolejka per klasa, szybki start |
/klasy, /klasy/:id | Klasy i uczniowie (import listy z tekstu, dezaktywacja zamiast kasowania); w widoku klasy zakładki Uczniowie / Bilans miesiąca / Do rozliczenia |
/lekcje | Lista lekcji per rocznik (postęp per klasa), edytor slajdów, prezentacja, gotowe materiały |
/lekcje/:id/pokaz/:classId | Ekran projektora: slajdy, koło na lekcji przy zadaniach, koło powtórzeniowe ze slajdu recap |
/pytania/:id | Zestaw pytań lekcji (import: jedno pytanie na linię, opcjonalnie pytanie | odpowiedź) |
/kartkowki | Kartkówki i klasówki per klasa: pytania z zestawów lekcji + własne, pokaz na projektorze (/kartkowki/:id/pokaz) |
/plan | Plan lekcji: siatka pon-pt z klasą i salą, godziny dzwonków; z niego bierze się zegar z odliczaniem do końca lekcji na ekranach projektora i pasek "Dziś" na pulpicie |
/panel | Pływający panel lekcji dla aplikacji desktopowej (desktop/) - koło i stoper w oknie nad multipodręcznikiem |
/zebrania | Zebrania z rodzicami - kafelki i skrypt zebrania |
/zasady/druk | Wydruk zasad na A4 |
/ustawienia | Limit pasów na miesiąc, plomba za podpowiadanie, czas kręcenia, stoper odpowiedzi, eksport/import JSON |
Kiedy lekcja idzie w multipodręczniku GWO, a nie w prezentacji apki, koło musi być NAD tamtym oknem.
Robi to mały shell Tauri z katalogu desktop/: okno zawsze na wierzchu, zwijane do pigułki, ładujące
trasę /panel z produkcji. Dwa tryby: koło (losowanie + plus/kropka, własna pamięć puli z Resetem)
i stoper (odliczanie z własnym poleceniem, np. „Czytamy tekst ze s. 12"). Szczegóły i uruchomienie: desktop/README.md.
Powtórka: Spacja kręć, 1 dobrze, 2 źle, 3 pas, N następne pytanie, O pokaż odpowiedź,
F pełny ekran, Esc zakończ.
Prezentacja: strzałki / Spacja / PageUp / PageDown nawigacja, Home / End, F pełny ekran,
Esc wyjście. Klik w lewą / prawą połowę ekranu też przewija slajdy. Na slajdzie zadania K otwiera
koło na lekcji - wtedy Spacja kręć, 1 plus, 2 kropka, Backspace cofnij, Esc zamyka koło.
recap albo przyciskiem "Koło powt." na
liście lekcji.src/data - typy, store (zustand + persist), seed, backupsrc/lib - czysta logika z testami (parsery, limity pasów, statystyki, stoper, markdown-lite)src/components - UI per modułsrc/pages - strony / trasydocs/SPEC.md - specyfikacja