ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
O'zbek tilida so'zlashuvchilar uchun ingliz tili platformasi: Beginner'dan IELTS gacha darslar, lug'at, test va tinglash mashqlari.
Translation pending
EducationTypeScript · JavaScriptGitHub @axmadjonilxamov-ship-itOnlineOwner 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
LEarn english
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
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.Read the full 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.