Skip to content

Простой сократитель ссылок на FastAPI со счётчиком посещений и ограничением траффика

Notifications You must be signed in to change notification settings

XCraiteX/tiny-link-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

Микросервис Сокращения Ссылок

Простой микросервис для сокращения ссылок и контроля посещений

Стек

  • FastAPI
  • SQLAlchemy
  • SQLite + aiosqlite драйвер

Установка

1. Клонируйте репозиторий

git clone https://github.com/XCraiteX/tiny-link-service.git

2. Замените ссылки в settings.py

# Ссылка для редиректа, если ссылка не найдена
DEFAULT_LINK = 'https://google.com'
# Ваша ссылка развёртывания на локал хосте для использования
SERVICE_LINK = 'http://localhost:8000/lnk/'

3. Запуск сервера

cd app
uvicorn api:app --port 3400  

4. Конфигурация Nginx

location /lnk/ {
    proxy_pass http://localhost:3400;
    proxy_http_version 1.1;
}

5. Использование API в своих проектах


Использование API

1. Создание ссылки | POST - service_link /api

  • Параметры
{
    "link": "your_link_here" ,
    "limit": 5
}

Лимит не обязательный аргумент, но при наличии, ограничивает максимальное кол-во переходов по ссылке
(После исчерпания лимита, ссылка удаляется)

> Ответ

  • Successfull
{
    "status": "OK",
    "shorted": "received_link",
    "views": 6
}
  • Error
{
    "status": "Error",
    "details": "Invalid link"
}

About

Простой сократитель ссылок на FastAPI со счётчиком посещений и ограничением траффика

Topics

Resources

Stars

Watchers

Forks