Skip to content

selcukakarin/url-shortener

Repository files navigation

Moneytolia API Demo

Moneytolia projesi için demo Şunlar kullanılarak yapıldı: Python, Django, Docker, PostgreSQL and Grafana, Prometheus

Kurulum (Docker - with make file):

  • Build docker image
   $ make build
  • Start url shortener service
   $ make start
  • Stop url shortener service
   $ make stop
  • Run tests for this project
   $ make test
  • make command usage details
    $ make help

Kurulum (Docker - without make file):

  • Build docker image
   $ docker compose build
  • Start url shortener service
   $ docker compose up --build -d
  • Stop url shortener service
   $ docker compose down
  • Run tests for this project
   $ docker compose exec flask-app python test.py

Kurulum (without Docker):

  • Start url shortener service
öncelikle 
python3.8 ile bir venv kurulur ve aktive edilir. sonra aşağıdaki kod çalıştırılır
pip install -r requirements.txt
sonra postgresqli pcmize kurup 
postgresql://postgres:Moneytolia123@localhost:5432/url_shortener
daha sonra url_shortener.py dosyasının 17. satırısını commen in yapıp 19. satırını comment out yapmamız lazım.
bu config ile ayağa kaldırmamız gerek.
dbname:url_shortener
username:postgres
dbpassword:Moneytolia123
sonra aşağıdaki kod çalıştırılır
   $ python url_shortener.py
  • Run tests for this project
   $ python test.py

API Docs.

Proje bu url'de dökümante edildi <hostname>/swagger/, exp: http://localhost:5000/swagger/

aşağıda swagger arayüzü görülebilmektedir. Swagger Swagger Swagger

servisleri ayağa kaldırdıktan sonra, uygulamamıza gelen metrikleri görebilmemiz için aşağıdaki adımları uygulayıp grafana ve prometheus'u bağlamamız gerek Swagger admin admin kullanıcı adı ve şifresiyle giriş yap Swagger password change etmeden skip et Swagger burda ekranda data source ekleme kısmına geliriz Swagger prometheus'u seçeriz Swagger docker ile ayağa kalkan prometheus servisimizin url'ini gireriz Swagger save and test butonuna tıklarız ve build a dashboard deriz Swagger add visualization butonuna tıklarız Swagger prometheus'u seçeriz Swagger sol alttan metricleri seçebiliriz Swagger bu şekilde görselleştirmesini sağlarız

prometheus arayüzü aşağıdaki gibidir. Swagger

istek atabileceğiniz python kodu

import requests
import json

url = "http://localhost:5000/shorten"

payload = json.dumps({
  "original_url": "https://flask-restx.readthedocs.io/en/latest/quickstart.html"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

istek atabileceğiniz curl

curl --location 'http://localhost:5000/shorten' \
--header 'Content-Type: application/json' \
--data '
{
    "original_url": "https://flask-restx.readthedocs.io/en/latest/quickstart.html"
}'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published