2026-06-15 03:32:52 +03:00
2026-05-10 03:16:55 +03:00
2026-06-15 03:32:52 +03:00
2026-05-14 01:50:46 +03:00
2026-06-15 03:32:52 +03:00
2026-05-10 03:16:55 +03:00

URL Shortener

Простой API для создания коротких URL и сбора статистики по переходам

Возможности

  • Создание коротких ссылок
  • Редирект по короткому URL
  • Сбор статистики переходов
  • REST API
  • PostgreSQL в качестве базы данных
  • Swagger для демонстрации HTTP-запросов
  • Запуск через Docker Compose

Установка

git clone https://github.com/ryzij/URL-Shortener.git url-short
cd url-short

Настройка окружения

cp .env.example .env

Пример .env:

# Укажите свои значения
POSTGRES_USER=app
POSTGRES_PASSWORD=app
POSTGRES_DB=appdb

JWT_SECRET_KEY=mysecretkeyqwertyuiopasdfghjklzxcvbnm
JWT_EXPIRES=00:01:00

Настройка docker-compose.yml

cp docker-compose.example.yml docker-compose.yml

Пример docker-compose.yml:

services:
  api:
    build:
      context: .
      dockerfile: URL-Shortener/Dockerfile
    ports:
      - "5000:8080"
    depends_on:
      - db
    environment:
      ConnectionStrings__DefaultConnection: Host=db;Database=${POSTGRES_DB};Username=${POSTGRES_USER};Password=${POSTGRES_PASSWORD}
      AuthSettings__SecretKey: ${JWT_SECRET_KEY}
      AuthSettings__Expires: "${JWT_EXPIRES}"

  db:
    image: postgres:17
    restart: always
    environment:
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: ${POSTGRES_DB}
    volumes:
      - pg_data:/var/lib/postgresql/data

volumes:
  pg_data:

Запуск

docker compose up --build -d

После запуска Swagger будет доступен по адресу: http://localhost:5000/swagger

S
Description
Простой API для создания коротких URL и сбора статистики по переходам
Readme 88 KiB
Languages
C# 93.3%
Dockerfile 6.7%