AutonomousVehicleControlBeginnersGuide
Python sample codes and documents about Autonomous vehicle control algorithm. This project can be used as a technical guide book to study the algorithms and the software architectures for beginners.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
LEarn english
翻訳待ち
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.
This is the beginning of the README. Read the rest at the original. Read the full README ↗