{"id":19704934,"url":"https://github.com/lmashik/yacut","last_synced_at":"2026-05-12T08:38:14.482Z","repository":{"id":187051322,"uuid":"662624390","full_name":"lmashik/yacut","owner":"lmashik","description":"Сервис для укорачивания ссылок","archived":false,"fork":false,"pushed_at":"2023-11-08T21:06:50.000Z","size":95,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-27T17:23:40.133Z","etag":null,"topics":["flask","jinja2","python37","sqlalchemy","wtf"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lmashik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-05T14:28:02.000Z","updated_at":"2023-11-08T21:13:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"d46c57ec-d04a-44b3-aefe-a555deb0b92f","html_url":"https://github.com/lmashik/yacut","commit_stats":null,"previous_names":["lmashik/yacut"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lmashik/yacut","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmashik%2Fyacut","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmashik%2Fyacut/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmashik%2Fyacut/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmashik%2Fyacut/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lmashik","download_url":"https://codeload.github.com/lmashik/yacut/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmashik%2Fyacut/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285755367,"owners_count":27226259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-22T02:00:05.934Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","jinja2","python37","sqlalchemy","wtf"],"created_at":"2024-11-11T21:25:19.021Z","updated_at":"2025-11-22T08:02:40.104Z","avatar_url":"https://github.com/lmashik.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Проект \"Укоротитель ссылок YaCut\"\n\n----------------------------------------\n## Описание\n\nДанный сервис поможет вам укоротить длинные ссылки путем создания для них \nидентификатора по умолчанию (если не указан вами) или выбора собственного, \nиз которого будет сделана удобная короткая ссылка. При переходе по данной \nкороткой ссылке вы попадете на страницу, на которую ведет соответствующая \nдлинная ссылка.\n\n----------------------------------------\n## Используемые технологии\n\n - Python 3.7\n - Flask (микрофреймворк для создания проектов на языке Python)\n - SQLAlchemy (библиотека для работы с реляционными СУБД с применением технологии ORM)\n - WTF (библиотека для работы с формами)\n - Jinja2 (шаблонизатор)\n \n----------------------------------------\n## Установка\n\n1. Клонируйте репозиторий\n```bash\ngit clone https://github.com/lmashik/yacut.git\n```\n\n2. Создайте и активируйте виртуальное окружение\n```bash\npython3.7 -m venv venv\n```\n\n* Если у вас Linux/macOS\n\n    ```bash\n    source venv/bin/activate\n    ```\n\n* Если у вас windows\n\n    ```bash\n    source venv/scripts/activate\n    ```\n\n3. Обновите pip до последней версии\n```bash\npython3 -m pip install --upgrade pip\n```\n\n4. Установите зависимости из файла requirements.txt\n```bash\npip install -r requirements.txt\n```\n\n----------------------------------------\n## Запуск\n\nВ директории проекта создайте файл .env и заполните его по образцу \n.env.example\n\nПримените миграции\n```bash\nflask db upgrade\n```\n\nЗапустите проект\n```bash\nflask run\n```\n\n----------------------------------------\n## API\nСервис имеет API, так что возможна интеграция вашего сервиса с Yacut.\n\n### Формат запроса\nЗапрос осуществляется посредством протокола HTTP 1.1.\n\n### Формат ответа\nОтвет сервиса представляет собой JSON-документ в кодировке UTF-8, \nсодержимое зависит от запроса.\n\n### Ресурсы\nYacut имеет один ресурс: пары \"длинная ссылка - короткий идентификатор\".\n\nДля создания нового короткого идентификатора (custom_id) \nдля длинной ссылки (url), выполните POST запрос на http://127.0.0.1:5000/api/id/,\nпример которого ниже:\n```bash\ncurl -X POST http://127.0.0.1:5000/api/id/\\\n-d \"url=url\"\\\n-d \"custom_id=id\"\\\n```\n\nПример ответа в случае успешного выполнения\n_HTTP 1.1 201 CREATED_\n```json\n{\n    \"short_link\": \"short_link\",\n    \"url\": \"url\"\n}\n```\n\nДля получения длинной ссылки, соответствующей короткому идентификатору,\nвыполните GET-запрос на адрес http://127.0.0.1:5000/api/id/\u003cid\u003e/, пример \nкоторого ниже:\n```bash\ncurl -X GET http://127.0.0.1:5000/api/id/\u003cid\u003e/\\\n```\n\nПример ответа в случае успешного выполнения\n_HTTP 1.1 200 OK_\n```json\n{\n    \"url\": \"url\"\n}\n```\n\n----------------------------------------\n## Автор проекта\n\nЛапикова Мария Дмитриевна\nmashik_p@mail.ru\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmashik%2Fyacut","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flmashik%2Fyacut","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmashik%2Fyacut/lists"}