ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Веб-система учёта работы преподавателей для учебного центра «Лидер+». Учителя вносят проведённые уроки и прикрепляют планы, завуч видит часы по каждому преподавателю, группе и ассистенту, выгружает отчёты в Excel. Стек: React + Vite · Supabase (база, авторизация, хранилище файлов) · деплой на Vercel.檢視完整 README ↗
Веб-система учёта работы преподавателей для учебного центра «Лидер+». Учителя вносят проведённые уроки и прикрепляют планы, завуч видит часы по каждому преподавателю, группе и ассистенту, выгружает отчёты в Excel.
Стек: React + Vite · Supabase (база, авторизация, хранилище файлов) · деплой на Vercel.
supabase/01_schema.sql. Это создаст таблицы, роли, политики доступа (RLS) и bucket
для файлов планов.supabase/03_students_attendance.sql — добавляет учеников, посещаемость,
привязки групп/предметов к преподавателю и вход по логину. Безопасно на уже созданной базе.supabase/02_seed.sql — добавит
предметы, группы, преподавателей, ассистентов и примеры уроков.Вход по логину: пользователи входят по логину (напр.
asaparova), а не по email. Внутри Supabase Auth используется технический emailлогин@lider.local— его никто не видит. Первого администратора (завуча) создаём с логином, см. Шаг 2 ниже.
⚠️ Если у вас проект, созданный после мая 2026, может быть отключён автодоступ к новым таблицам через Data API. Если запросы возвращают пустоту/ошибку доступа — зайдите в Project Settings → Data API и включите доступ к таблицам схемы
public, либо в SQL выполнитеgrant select, insert, update, delete on all tables in schema public to anon, authenticated;
Первого администратора создаём вручную. Вход в систему — по логину, поэтому email
задаём в техническом формате логин@lider.local.
[email protected] (это технический email, входить будете по логину zavuch)update profiles set role = 'admin', username = 'zavuch' where id =
(select id from auth.users where email = '[email protected]');
zavuch + ваш пароль.Преподавателей дальше заводит завуч через интерфейс: раздел «Управление» → вкладка «Преподаватели» → «Выдать доступ». Логин предлагается автоматически из ФИО (первая буква имени + фамилия транслитом), пароль генерируется. Для этого нужно один раз развернуть Edge Function (Шаг 2б).
Только первого админа создаём вручную — назначить его больше некому. Всё остальное (преподаватели, их логины, группы, предметы, привязки) делается в интерфейсе.
Создание аккаунтов требует сервисного ключа, который нельзя держать в браузере.
Поэтому это делает серверная функция invite-teacher.
Установите Supabase CLI (https://supabase.com/docs/guides/cli), затем:
supabase login
supabase link --project-ref ВАШ_PROJECT_REF
supabase functions deploy invite-teacher
SUPABASE_URL, SUPABASE_ANON_KEY и SUPABASE_SERVICE_ROLE_KEY доступны функции
автоматически как встроенные секреты проекта — дополнительно ничего задавать не нужно.
Если CLI не используете — можно создать функцию через дашборд: Edge Functions → Deploy
a new function, имя invite-teacher, вставить код из
supabase/functions/invite-teacher/index.ts.
.env.example в .env.local.Project URL и anon public ключ.VITE_SUPABASE_URL=https://ваш-проект.supabase.co
VITE_SUPABASE_ANON_KEY=ваш-anon-ключ
npm install
npm run dev
Откройте http://localhost:5173
VITE_SUPABASE_URL и VITE_SUPABASE_ANON_KEY.supabase/
01_schema.sql схема БД + роли + RLS + storage
02_seed.sql демо-данные (необязательно)
src/
lib/
supabase.js клиент Supabase
auth.jsx контекст авторизации (сессия, роль)
api.js все запросы к базе и Storage
utils.js расчёты часов, форматирование, палитра
components/
ui.jsx переиспользуемые элементы (Stat, Field…)
LessonTable.jsx таблица уроков
LessonForm.jsx форма добавления урока
pages/
Login.jsx страница входа (лендинг)
TeacherCabinet.jsx кабинет преподавателя
AdminCabinet.jsx кабинет завуча + профиль + ассистенты
App.jsx маршрутизация по роли, шапка
main.jsx точка входа
teacher / admin), связаны с auth.users.profile_id связывает с аккаунтом (может быть пустым).Доступ разграничен на уровне базы (RLS): преподаватель видит и меняет только свои уроки, завуч — всё. Справочниками управляет только завуч.
Управление справочниками из интерфейса (добавление учителей/групп/ассистентов),
редактирование/удаление уроков, произвольный диапазон дат, кабинет ассистента,
расписание, уведомления. Заготовки функций управления уже есть в api.js.