Home
Softono
go-url-shortener

go-url-shortener

Open source MIT Go
11
Stars
0
Forks
0
Issues
0
Watchers
5 months
Last Commit

About go-url-shortener

Shorten URLs with GitHub repositories and the http-equiv attribute.

Platforms

Web Self-hosted

Languages

Go

πŸš€ Go URL Shortener

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.

✨ Xususiyatlari

  • URL Qisqartirish: Uzun havolalarni 6 xonali noyob kalitlar orqali qisqartirish.
  • Redirect (Yo'naltirish): Qisqa havola orqali darhol asl manzilga o'tish.
  • Click Counter: Har bir havola necha marta bosilganini real-vaqtda hisoblash.
  • Persistence (Saqlash): Ma'lumotlar links.json faylida saqlanadi, server o'chsa ham ma'lumotlar saqlanib qoladi.
  • Dashboard: Barcha havolalarni ko'rish va keraksizlarini o'chirish imkoniyati.
  • Concurrency Safe: sync.Mutex yordamida bir vaqtning o'zida ko'plab so'rovlar bilan xavfsiz ishlash.

πŸ›  Texnologiyalar

  • Backend: Go (Golang)
  • Frontend: HTML5, CSS3, JavaScript (Fetch API)
  • Storage: JSON-based database

πŸ“Š API Yo'nalishlari (Endpoints)

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.

πŸ›  Ishlatish bo'yicha namunalar

1. URL qisqartirish so'rovi:

Brauzer yoki API mijoz (Postman) orqali: http://localhost:8080/shorten?url=https://www.google.com

2. Statistikani ko'rish:

Barcha ma'lumotlarni jadval ko'rinishida ko'rish uchun: http://localhost:8080/list

πŸ“ Fayllar strukturasi

Sizning loyihangiz quyidagi tartibda tuzilgan:


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