ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證LEarn english
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
O'zbek tilida so'zlashuvchilar uchun ingliz tili platformasi. Bosh sahifa — tungi shaharcha xaritasi: har bir tuman bitta daraja (Beginner'dan IELTS gacha), har bir bino esa bitta modul. Binoga bosilsa, egri yo'l bo'ylab chizilgan kurs yo'li ochiladi.檢視完整 README ↗
O'zbek tilida so'zlashuvchilar uchun ingliz tili platformasi. Bosh sahifa — tungi shaharcha xaritasi: har bir tuman bitta daraja (Beginner'dan IELTS gacha), har bir bino esa bitta modul. Binoga bosilsa, egri yo'l bo'ylab chizilgan kurs yo'li ochiladi.
Saytda ikkita bo'lim bor: Shaharcha (darslar) va Tarjimon. Shaharchada binoni tanlasangiz, qizil mashina oq marshrut bo'ylab o'sha binoga yuradi va yetib borgach kurs yo'li ochiladi. Shift — turbo. Yo'ldagi svetafor qizil bo'lsa mashina o'zi to'xtaydi; Shift bosib turib o'tib ketsangiz, politsiya quvadi va yo'l qoidalari bo'yicha ingliz tilida test beriladi. Kursda 240 ta dars va 720 ta mashq bor — har darajaga 40 tadan. Barcha darslarni tugatgan foydalanuvchi ismi yozilgan sertifikat oladi.
| Qism | Nima ishlatilgan |
|---|---|
| Karkas | Next.js 16 (App Router, Turbopack) |
| Til | TypeScript (strict) |
| Dizayn | Tailwind CSS 4 |
| Baza | Neon Postgres (@neondatabase/serverless) |
| Kirish / ro'yxat | better-auth (email + parol) |
| Talaffuz | Brauzerning Web Speech API'si |
| Tarjima | Saytning o'z lug'ati + MyMemory API (kalitsiz) |
npm install
npm run dev
Keyin http://localhost:9999 ni oching.
.env.local faylida ikkita sozlama bo'lishi kerak (namuna: .env.example):
DATABASE_URL="postgresql://…" # Neon ulanish satri
BETTER_AUTH_SECRET="…" # openssl rand -base64 32
BETTER_AUTH_URL="http://localhost:9999"
npm run dev serverni butun tarmoqqa ochadi. Terminalda ikkita manzil chiqadi:
Local: http://localhost:9999 ← faqat shu kompyuter
Network: http://192.168.x.x:9999 ← bir Wi-Fi'dagi hamma
Ikkinchi manzilni telefon yoki boshqa kompyuterga bersangiz, sayt ochiladi.
Kirish va ro'yxatdan o'tish ham ishlaydi: src/lib/auth.ts dagi
trustedOrigins mahalliy tarmoq manzillariga ruxsat beradi, begona
saytlardan kelgan so'rovlarni esa rad etadi.
Internetdagi hamma uchun ochish kerak bo'lsa, saytni joylashtirish lozim
(masalan Vercel). U holda domeningizni .env ga yozing:
BETTER_AUTH_URL="https://sizning-domeningiz.com"
TRUSTED_ORIGINS="https://sizning-domeningiz.com"
Boshqa buyruqlar:
npm run build # ishlab chiqarish uchun yig'ish
npm run start # yig'ilgan saytni ishga tushirish
npm run lint # kod tekshiruvi
src/
app/
page.tsx Shaharcha xaritasi (bosh sahifa)
path/[level]/ Kurs yo'li — darslar egri yo'l bo'ylab
lesson/[level]/[index]/ Dars: chapda qoida, o'ngda mashq oynasi
translate/ Tarjimon (inglizcha ↔ o'zbekcha)
ielts/ IELTS: Writing ishlaydi, qolganlari tayyorlanmoqda
certificate/ Kurs tugagach beriladigan sertifikat
admin/ Admin panel (role = 'admin' kerak)
login/ register/ Kirish va ro'yxatdan o'tish
api/auth/[...all]/ better-auth ishlov beruvchisi
api/progress/ Tugatilgan darslarni saqlash
api/translate/ Tarjima so'rovi
api/enforcement/ Qoidabuzarlik va blok holati
api/admin/ Admin statistikasi va boshqaruvi
components/
city/CityMap.tsx Shaharcha (SVG)
path/RoadPath.tsx Kurs yo'li (SVG)
lesson/ Dars oynasi va 4 xil mashq
data/
levels/ Darslar — har darajaga bitta fayl (40 tadan)
courses.ts Daraja fayllarini birlashtiradi
words.ts grammar.ts Lug'at va grammatika
lib/
auth.ts auth-client.ts Autentifikatsiya
db.ts Bazaga ulanish
progress.tsx Natijalarni saqlash va sinxronlash
dictionary.ts Darslardan tuzilgan lug'at (tarjimon uchun)
writing-analysis.ts IELTS Writing tahlili (4 ta mezon)
city-scenery.ts Shaharchaning statik bezagi
legacy/ papkasida saytning eski, sof HTML/CSS/JS versiyasi turibdi — kerak
bo'lmasa, o'chirib tashlash mumkin.
src/data/levels/ papkasidan kerakli daraja faylini oching (masalan
beginner.ts), modulni toping va lessons massiviga yangi element qo'shing.
id, tartib raqami va progress avtomatik hisoblanadi.
{
title: "Darsning o'zbekcha nomi",
en: "English title",
min: 4,
text: "Qoidaning o'zbekcha tushuntirishi.",
rule: { icon: "📘", name: "Qoida", en: "Formula", desc: "Izoh" },
tasks: [
{ t: "choose", q: "She ___ a doctor.", opts: ["am", "is", "are"], a: "is", uz: "U shifokor." },
{ t: "build", s: "I am very happy", uz: "Men juda xursandman" },
{ t: "match", pairs: [["mother", "ona"], ["father", "ota"]] },
{ t: "listen", w: "family", uz: "oila" },
],
}
So'rov avval saytning o'z lug'atiga tushadi. Lug'at darslardagi barcha
so'zlar, gaplar va grammatika misollaridan avtomatik tuziladi
(src/lib/dictionary.ts), shuning uchun o'rganilayotgan gaplar darhol, internetsiz
va transkripsiya hamda misol bilan tarjima qilinadi.
Lug'atda topilmagan matn MyMemory tarjima xizmatiga yuboriladi — u bepul va API kalit talab qilmaydi. So'rov server tomonidan yuboriladi va bir soat keshlanadi.
Progress avval brauzerda (localStorage) saqlanadi, shuning uchun sayt hisobsiz
ham to'liq ishlaydi. Foydalanuvchi tizimga kirsa, brauzerdagi va bazadagi
darslar birlashtiriladi — hech narsa yo'qolmaydi.
Bazadagi jadvallar: user, session, account, verification (better-auth)
va lesson_progress.
Loyiha Vercel uchun tayyor. Vercel'da DATABASE_URL, BETTER_AUTH_SECRET va
BETTER_AUTH_URL (sayt manzili) o'zgaruvchilarini kiritish kifoya.
Shaharchadagi mashina qizil chiroqda avtomatik to'xtaydi. Shift bosib turib qizildan o'tsangiz — bu qoidabuzarlik: politsiya quvadi va yo'l qoidalari bo'yicha 10 ta inglizcha savol beriladi.
Blok qurilmaga qo'yiladi (localStorage + serverdagi device_block jadvali),
shuning uchun tabni yopib qayta ochish yordam bermaydi.
/admin sahifasi. Kirish ikki bosqichli:
role = 'admin' bo'lishi kerak:
update "user" set role = 'admin' where email = '[email protected]';
.env.local
faylidagi ADMIN_PASSWORD da saqlanadi va faqat serverda tekshiriladi —
sayt kodiga tushmaydi.Parol to'g'ri kiritilsa, imzolangan httpOnly cookie qo'yiladi va panel
8 soat ochiq turadi. "Qulflash" tugmasi uni bekor qiladi. Xato parol bir
daqiqada 5 martadan ko'p kiritilsa, urinishlar 5 daqiqaga to'xtatiladi.
Panelda: umumiy statistika, foydalanuvchilar ro'yxati (tugatgan darslari, qoidabuzarliklari), qoidabuzar qurilmalar va oxirgi hodisalar. Har bir foydalanuvchi yoki qurilmani vaqtincha bloklash, butunlay yopish, blokdan chiqarish va admin qilish mumkin.
Sayt PWA sifatida ishlaydi: Android va Windows'da brauzer o'zi "O'rnatish" taklifini beradi, iPhone'da esa Ulashish → Bosh ekranga qo'shish. O'rnatilgandan keyin ilova internetsiz ham ochiladi.
/ielts sahifasida to'rtta bo'lim bor. Hozircha Writing ishlaydi,
Listening, Reading va Speaking "soon…" deb turadi.
Writing — Task 1 (grafik tasvirlash, 150+ so'z, 20 daqiqa) va Task 2 (esse, 250+ so'z, 40 daqiqa). Taymer bor, yozilgani brauzerda saqlanadi, "Boshqasi" tugmasi yangi topshiriq beradi.
Yozganingiz IELTS ning to'rtta rasmiy mezoni bo'yicha tekshiriladi
(src/lib/writing-analysis.ts):
| Mezon | Nima tekshiriladi |
|---|---|
| Task Achievement / Response | Hajm, overview (Task 1), aniq pozitsiya (Task 2), misollar, xulosa |
| Coherence and Cohesion | Xatboshilar, bog'lovchilar xilma-xilligi, ishora so'zlari |
| Lexical Resource | Lug'at xilma-xilligi, kam uchraydigan so'zlar, parafraz, imlo |
| Grammatical Range | Gap uzunligi xilma-xilligi, ergash gap, shart gap, passive |
Bu avtomatik tahlil, rasmiy baho emas — o'lchab bo'ladigan narsalarni tekshiradi. Mazmun sifatini faqat inson ekspert baholay oladi.