Ushbu loyiha Go (Golang) tilida yozilgan zamonaviy va tezkor URL qisqartirgich servisidir. Loyiha orqali uzun havolalarni qisqa va qulay ko’rinishga keltirish, ularning statistikasini kuzatish va boshqarish mumkin.
links.json faylida saqlanadi, server o’chsa ham ma’lumotlar saqlanib qoladi.sync.Mutex yordamida bir vaqtning o’zida ko’plab so’rovlar bilan xavfsiz ishlash.Loyihada mavjud bo’lgan asosiy marshrutlar va ularning vazifalari:
| Metod | Yo’nalish (Endpoint) | Vazifasi | Misol / Izoh |
|---|---|---|---|
| GET | / |
Bosh sahifa | Foydalanuvchi interfeysini (UI) yuklaydi. |
| GET | /shorten?url={link} |
URL qisqartirish | url parametrida berilgan linkni qisqartirib qaytaradi. |
| GET | /r/{key} |
Yo’naltirish | Qisqa kod orqali asl URL manziliga yuboradi. |
| GET | /list |
Statistika | Barcha yaratilgan linklar va kliklar sonini ko’rsatadi. |
| GET | /list?delete={key} |
O’chirish | Berilgan kalit (key) bo’yicha linkni bazadan o’chiradi. |
Brauzer yoki API mijoz (Postman) orqali:
http://localhost:8080/shorten?url=https://www.google.com
Barcha ma’lumotlarni jadval ko’rinishida ko’rish uchun:
http://localhost:8080/list
Sizning loyihangiz quyidagi tartibda tuzilgan: ```text GO-URL-SHORTENER/ ├── static/ │ └── index.html # Asosiy UI sahifasi ├── engine.go # Yordamchi funksiyalar (Kalit yaratish) ├── main.go # Server logikasi va marshrutlar ├── go.mod # Go modul fayli ├── links.json # Ma’lumotlar bazasi └── .gitignore # Git uchun keraksiz fayllar ro’yxati