Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

ShortLinks

REST API для сокращения ссылок с учётом переходов и статистикой. Слои: Domain, Application, Infrastructure, Api.

Стек

  • .NET 8, ASP.NET Core Minimal APIs
  • EF Core 8, SQLite
  • xUnit, WebApplicationFactory
  • Swagger в среде Development

Требования

Запуск локально

dotnet restore
dotnet build

API (по умолчанию см. launchSettings.json):

dotnet run --project src/ShortLinks.Api

Конфигурация

Ключ Назначение
ConnectionStrings:Default Строка подключения SQLite
App:PublicBaseUrl Базовый URL для полной короткой ссылки в ответе POST /links
App:CodeLength Длина случайного кода (ограничивается 7–12)
App:MaxCreateAttempts Попыток генерации уникального кода при коллизии

HTTP API

Метод Путь Описание
POST /links Тело: { "targetUrl": "https://..." }. Ответ: код и короткий URL
GET /{code} Редирект 302 на целевой URL; неизвестный код — 404
GET /links/{code}/stats Переходы, дата создания, целевой URL

Тесты

dotnet test

Docker

Сборка и запуск (порт 8080, см. Dockerfile):

docker build -t shortlinks .
docker run --rm -p 8080:8080 shortlinks

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages