Texnologiyalar to'plami
"Stack" (to'plam) — bitta loyihani qurish uchun ishlatilgan barcha vositalar yig'indisi. Xuddi uy qurishda g'isht, sement, armatura kerak bo'lgani kabi, veb-sayt qurishda ham bir nechta "qurilish materiali" kerak bo'ladi.
1To'rtta asosiy qatlam
Keyingi bo'limlarda har birini alohida ochib beramiz. Hozircha — TOBB ETÜ Sport'da har bir qatlam uchun aynan nima ishlatilgani:
2Frontend — Next.js (React)
Next.js — foydalanuvchi ko'radigan sahifalarni (bosh sahifa, sport turlari, turnirlar va h.k.) yaratish uchun ishlatilgan. U React nomli mashhur texnologiya asosida qurilgan.
Nega "framework" (qolip/asos)? Har bir saytda menyu, tugmalar, kartochkalar bir xil uslubda takrorlanadi. React/Next.js bunday takrorlanadigan qismlarni bir marta "komponent" sifatida yasab, keyin xohlagan joyda qayta ishlatish imkonini beradi — xuddi Lego detali kabi: bitta "tugma" detalini yasaysiz, keyin saytning har joyida shu detaldan foydalanasiz.
Yozish tili: TypeScript — bu JavaScript'ning "tekshiruvchi" versiyasi: kod ishga tushishidan OLDIN xatolarni topib beradi (masalan, raqam kutilgan joyga so'z yozib qo'yilsa, darhol ogohlantiradi).
3Backend — Django (Python)
Django — Python tilida yozilgan, ma'lumotlarni saqlash, hisoblash va xavfsizlikni ta'minlash uchun ishlatiladigan tizim. Masalan: "kim tizimga kirdi", "turnir g'olibi kim", "reyting qanday hisoblanadi" — bularning barchasini Django hal qiladi. Bu haqida keyingi bo'limda batafsil.
4Ma'lumotlar bazasi — PostgreSQL
Barcha ma'lumot (talabalar, turnirlar, natijalar) PostgreSQL nomli ma'lumotlar bazasida saqlanadi — bu haqida 4-bo'limda alohida gaplashamiz.
5Server (hosting) — Vercel
Vercel — tayyor kodni internetga chiqarib, doimiy ishlaydigan qiladigan xizmat. Bu haqida 9-bo'limda to'liq tushuntiramiz.
6Qisqacha jadval
| Qatlam | Texnologiya | Vazifasi |
|---|---|---|
| Frontend | Next.js / React / TypeScript | Foydalanuvchi ko'radigan sahifalar |
| Uslub (dizayn) | Tailwind CSS | Ranglar, shriftlar, joylashuv |
| Backend | Django / Python | Mantiq, hisob-kitob, xavfsizlik |
| API qatlami | Django REST Framework | Frontend va backend o'rtasida "til" |
| Ma'lumotlar bazasi | PostgreSQL | Barcha ma'lumotni doimiy saqlash |
| Hosting | Vercel | Saytni internetda ishga tushirish |
| Kod tarixi | Git / GitHub | Har bir o'zgarishni saqlaydigan "arxiv" |