ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
A modern learning management and progress tracking system for schools running the GLOW Pathways program.
EducationTypeScript · CSSGitHub @KALBOssingOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A Learning Management and Progress Tracking System for schools running the GLOW Pathways program. Built with Next.js 14 (App Router), TypeScript, Tailwind, shadcn/ui, Prisma, and PostgreSQL.
Status: Phase 1 of the incremental build (database → auth → backend APIs (partial) → frontend (partial) → testing → deployment). See "What's included" below for exactly what's implemented so far, and "Roadmap" for what's next.
/student/*, /teacher/*)classes, assignments#2563EB, background #F8FAFC,
16px radius, dark mode variables)/api/upload validates type/size and stores to
Supabase Storage; teachers attach materials to assignments, students attach files to their
submission (a draft submission is auto-created on first upload)src/lib/achievements.ts): recomputes pathway progress and grants
First Submission, Perfect Score, First/Two/All-Five Pathway badges whenever a grade is released/api/search) across assignments, classes, students, and announcements —
role-scoped, with a debounced search bar in the shared Topbarsrc/lib/email.ts): verification, password reset, new
assignment, deadline-reminder, and grade-released emails — falls back to console logging if
RESEND_API_KEY isn't set, so local dev works without it/verify-email and /reset-password pages + API routes (previously just linked from emails
but not yet built)Dockerfile for the app itself (standalone Next.js output, multi-stage build). Local
development uses docker-compose.yml for the database only, running alongside npm run dev;
docker-compose.full.yml optionally runs the whole app in Docker too, for self-hostingnpm run test)npm run test:e2e).github/workflows/ci.yml): lint, type-check, prisma validate,
migrations against a throwaway Postgres service, unit tests, and a production buildActivityLog table/api/cron/deadline-reminders, protected by CRON_SECRET)
vercel.json Cron config wired to run it dailysrc/components/ui/confirm-button.tsx) — destructive actions
(deleting a file, assignment, announcement, or class) now ask before acting instead of firing
immediatelyloading.tsx conventionaria-labels to icon-only buttons that had none (actions menus,
mark-as-read, profile picture controls, comment-post button)npm run prisma:seed added to the CI job first)src/lib/rate-limit.ts) is in-memory and per-instance — fine for a single
server, but swap in Redis (e.g. Upstash) before running multiple instances behind a load
balancernpm install
cp .env.example .env
Fill in DATABASE_URL, NEXTAUTH_SECRET (generate with openssl rand -base64 32), and your
Supabase credentials.
docker compose up -d
npm run db:init
npm run prisma:seed
This creates 5 teachers ([email protected] … [email protected]) and 200 students
([email protected] … [email protected]), all with password Password!123.
npm run dev
Visit http://localhost:3000.
npm run test # Vitest unit tests
npm run test:e2e # Playwright e2e tests
(Test suites will be filled in during the "testing" phase of the roadmap.)
.env.example in the Vercel project settings.DATABASE_URL.npm install → postinstall (prisma generate) → npm run build
automatically.npm run db:deploy against your production database (via a one-off job or
Vercel's deploy hook).src/
app/ # Next.js App Router routes
(auth)/ # login, register, forgot-password
api/ # API route handlers
student/ # student-only routes (protected by middleware)
teacher/ # teacher-only routes (protected by middleware)
components/
ui/ # shadcn/ui-style primitives
layout/ # sidebar, topbar
charts/ # Recharts wrappers
features/ # feature-scoped logic (grows in later phases)
hooks/ # shared React hooks
lib/ # prisma client, auth config, validation schemas, utils
types/ # shared TypeScript types + NextAuth module augmentation
prisma/
schema.prisma
seed.ts