ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 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.