Python ile link kısaltma sitesi - Flask -LinkX

Merhabalar 3 günde yaptığım basit bir link kısaltma sitesini göstereceğim sizlere. Kodlar açık, kodda sadece bir kısmı editlemeniz gerekiyor. Database olarak mongodb kullandığım için oraya kendi MongoDB sayfanızı koymanız gerekiyor. Nasıl yapacağınızı bilmiyorsanız tech with tim kanalının pymongo tutorial'ını izleyebilirsiniz. Ayrıntılı özellikler:

Dİl : Python
Framework : Flask

Amaç : Linkleri kısaltıp daha göze hitap eden şekle sokmak. Bu linkleri verimli bir şekilde yönetmek. Yönetme kısmı eklenecek.

Uzun linki alır kısa linki verir
Özel kısa link seçebilirsiniz
Kategori seçebilirsiniz
Şİfre koyabilirsiniz (ekleniyor)
Limit seçebilirsiniz (ekleniyor)

Lİnk kısaltma sayfasında toplam site istatistikleri görünür. Toplam kısaltılan link, toplam link tıklaması.
Üye olursanız kendi linklerinizi görebilirsiniz.
Duyurular kısmı var, duyuru ekleme paneli eklenecek.
Geliştirmeye açık.

Vaktim olduğunda daha güzel ve daha hızlı hale getireceğim. Siz de geliştirebilirsiniz.


Kod

1 Beğeni

Ufak bir tavsiyem var. Kodda soyle bir kisim var:

from pymongo import MongoClient
import time
import hashlib

cluster = MongoClient("mongodbbağlantısı") # <---
db = cluster['linkx']
linkler = db['linkler']
kullanicilar = db['kullanicilar']
duyurular = db['duyurular']


def ozelvarmi(ozel):

mongo baglantisini environment variable olarak almak daha mantikli gibi. Bu tarz, kodu calistiran kisinin degistirecegi kisimlari bu sekilde yazmak daha mantikli.

from dotenv import load_dotenv
import os
from pathlib import Path

env_path = Path(".") / ".env"
load_dotenv(dotenv_path=env_path)

cluster = MongoClient(os.getenv("MONGODB_CONNECTION") # <---

Calistirmak icin bulunulan dizinde .env dosyasi bulunmali. Icerigi de suna benzeyecek:

MONGODB_CONNECTION=baglanti

.env dosyasinin da gitignore dosyasinda olmasi lazim.


Eger isterseniz pull request de gonderebilirim.