ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Учителя вносят уроки, завуч видит часы и выгружает отчёты в Excel
Translation pending
AI summary · README
EducationJavaScript · PLpgSQLGitHub @soltanbaevas96OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Веб-система учёта работы преподавателей для учебного центра «Лидер+». Учителя вносят проведённые уроки и прикрепляют планы, завуч видит часы по каждому преподавателю, группе и ассистенту, выгружает отчёты в Excel. Стек: React + Vite · Supabase (база, авторизация, хранилище файлов) · деплой на Vercel.Read the full 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.