Skip to content

OlTrenin/shortify

Repository files navigation

Инструкция по запуску 🚀

Для запуска вам понадобится Docker Compose и возможность создать и отредактировать переменные окружения.

  1. Переименуйте файл .env.example в .env и заполните значения из этого файла своими данными(хотя можно оставить по умолчанию)
    • Если планируется доступ не только с локальной машины, то измените в файлах .env и frontend/.env значения переменных BACKEND_BASE_URL и VITE_BACKEND_BASE_URL соответственно на адрес, по которому планируется доступ к backend'у(например, если хотите запустить приложение на сервере с публичным адресом a.b.c.d, то установите эти переменные в http://a.b.c.d:3000), также если вы меняли порт, на котором запускается backend, то вместо 3000 укажите его
  2. Пропишите команду docker compose up --build
  3. Готово!

Документация по API 📔

POST /shorten

Создаёт новый укороченный url

Тело запроса

{
    originalUrl: string // сокращаемый url
    expiresAt?: Date // время, после которого ссыка будет удалена
    alias?: string // кастомный алиас
}

Тело ответа

{
    url: string // укороченный url в формате `http://${BACKEND_BASE_URL}/${shortUrl}`
}

Ошибки:

  • 400: Url with such shortUrl is already exists

GET /:shortUrl

Переадресовывает на url, который был сокращён, и получил shortUrl равным :shortUrl

Ошибки:

  • 404: Если не существует укороченной ссылки с shortUrl равным :shortUrl

GET /info/:shortUrl

Возвращает базовую информацию о ссылке

Тело ответа

{
    originalUrl: string // сокращённый url
    createdAt: Date // дата сокращения url
    clickCount: number // количество переходов по сокращённой ссылке
}

Ошибки:

  • 404: Если не существует укороченной ссылки с shortUrl равным :shortUrl

DELETE /delete/:shortUrl

Удаляет сокращённую ссылку с shortUrl равным :shortUrl

Ошибки:

  • 404: Если не существует укороченной ссылки с shortUrl равным :shortUrl

GET /analytics/:shortUrl

Возвращает подробную информацию о ссылке

Тело ответа

{
    clickCount: number // количество переходов по сокращённой ссылке
    lastIps: string[] // ip, с которых были совершены 5 последних переходов
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published