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.