ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Litere, cifre și numele copilului de trasat, cu diacritice corecte. PDF gata de printat.
Translation pending
EducationTypeScript · PythonGitHub @ro232OnlineOwner 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 ↗Fișe de scris pentru grădiniță și clasa pregătitoare, cu alfabetul românesc complet (Ă Â Î Ș Ț): litere, cifre, forme, exerciții grafice, numele copilului, fișe pentru toată grupa pe teme și caiete gata de publicat pe Amazon KDP.
npm install
cp .env.example .env.local # completează cheile (vezi mai jos)
npm run dev # http://localhost:3000
Fără chei Supabase/Stripe, generatorul, fișa cu numele, fișele pentru grupă și caietul KDP merg în continuare (totul se desenează în browser); doar contul și plata sunt oprite.
| Comandă | Ce face |
|---|---|
npm run dev | server de dezvoltare (aici apare și butonul 🔓 care schimbă planul, pentru teste) |
npm test | testele automate (Vitest) |
npm run lint | verificarea codului |
npm run build | build de producție |
npm run build:icons | regenerează imaginile pentru cuvinte după ce schimbi LETTER_HINTS sau THEMES |
src/lib/supabase/schema.sql (doar pe o bază nouă), apoi toate fișierele din supabase/migrations/ în ordinea numelui (acum trei). Ele închid accesul din browser la coduri, nivelul contului și starea abonamentului. Adaugă https://SITE/auth/callback (cu parametri) la URL-urile de redirect din Authentication.SELECT * FROM generate_access_codes('starter', 10);STRIPE_PRICE_MONTHLY și STRIPE_PRICE_YEARLY; un webhook spre /api/stripe/webhook cu evenimentele checkout.session.completed și customer.subscription.*; Customer Portal activat. Planul plătit se acordă doar din webhook.NEXT_PUBLIC_OPERATOR_*.src/lib/glyphs motorul de litere: linii vectoriale în ordinea de scriere, puncte numerotate, săgeți
→ desenate identic pe ecran (canvas), în PDF (jsPDF) și în SVG
src/lib/worksheet paginile fișelor (layout.ts), rândurile (rows.ts), fișele pentru grupă (group.ts)
src/lib/book caietul KDP: interior cu margini oglindite, copertă cu cotor, dimensiuni KDP
src/lib/hints imaginile pentru cuvinte (Twemoji, CC-BY 4.0), convertite în desene vectoriale
src/lib/themes.ts temele săptămânii
src/lib/access.ts ce e gratuit și ce nu (o singură regulă, folosită peste tot)
src/lib/billing planuri și reguli abonament → nivel
src/app/api/stripe checkout, portal, webhook
Ce vezi în previzualizare e exact ce se tipărește: aceeași descriere de pagină alimentează ecranul și PDF-ul. PDF-urile includ doar fontul Nunito (înglobat), cum cere KDP.
npm test verifică, printre altele: că nicio pagină a caietului nu iese din zona sigură KDP pe niciun format, că fiecare copil încape pe o pagină la fișele pentru grupă, că literele blocate nu ajung în fișele gratuite, că webhook-ul Stripe acordă și retrage planul corect (cu semnături reale) și că numele copilului nu se salvează niciodată în cont.