ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Your personalized study partner matching platform.
Translation pending
EducationTypeScript · DartGitHub @Kawshik-khanOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
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 ↗Zenvy is a high-performance, real-time study platform designed to connect students through collaborative tools, AI-driven partner matching, and seamless communication.
simple-peer) and Socket.io signaling.Create a .env file in the root directory and add the following:
# Database
DATABASE_URL="postgresql://user:password@host:port/dbname?pgbouncer=true&connection_limit=5&pool_timeout=20"
DIRECT_URL="postgresql://user:password@host:port/dbname"
# Auth
AUTH_SECRET="your-auth-secret"
NEXTAUTH_URL="http://localhost:3000"
# Optional: "Continue with Google" (the button only shows when both are set).
# Redirect URI in Google Cloud Console: <your site>/api/auth/callback/google
AUTH_GOOGLE_ID="your-google-client-id"
AUTH_GOOGLE_SECRET="your-google-client-secret"
# Supabase (Storage)
NEXT_PUBLIC_SUPABASE_URL="https://your-project.supabase.co"
NEXT_PUBLIC_SUPABASE_ANON_KEY="your-anon-key"
SUPABASE_SERVICE_ROLE_KEY="your-service-role-key"
# Resend (Email)
RESEND_API_KEY="re_..."
npx prisma generate
npm run prisma:migrate
See docs/deployment.md for creating migrations and baselining existing databases.
npm run dev
npm run test # unit tests (Vitest)
npm run test:e2e # Playwright smoke tests against `next start`
npm run test:visual # full-page screenshots of every route (desktop + mobile) into test-results/
End-to-end tests need a production build and a local/throwaway database with seeded users:
npm run prisma:migrate
npm run db:seed:e2e # refuses non-local DB hosts unless ALLOW_E2E_SEED=true
npm run build
AUTH_TRUST_HOST=true npm run test:e2e
Feature flags live in lib/flags.ts (for example FEATURE_JOBS=true).
Off until FEATURE_JOBS=true. To use it you need:
2_jobs_portal migration applied (npm run prisma:migrate),job-media, and SUPABASE_SERVICE_ROLE_KEY set on the server,CRON_SECRET set, so the daily /api/cron/expire-jobs call in vercel.json can mark past-deadline posts as expired.First-time posters are reviewed at /zenvy-admin/jobs. Image uploads are re-encoded to WebP and stripped of location data before storage.
/app: Next.js 15 app router pages and components./prisma: Database schema and migrations./lib: Shared utilities (Prima, Socket.io, Supabase client)./public: Static assets (fonts, images).This project is licensed under the MIT License - see the LICENSE file for details.