Проект для укорачивания длинных ссылок.
Позволяет создать короткую ссылку на ресурс, задав уникальную часть короткой ссылки самостоятельно или сгенерирвать её автоматически.
В проекте имеется станица с формой для создания короткой ссылки, а также API.
После запуска проекта на локальной машине форма доступна по адресу http://localhost:5000/.
У API имется два эндпоинта:
- http://localhost:5000/api/id/ для создания короткой ссылки.
- http://localhost:5000/api/id/{short_id} для получения оригинальной ссылки по уникальной части короткой ссылки short_id.
Проект использует следующие технологии:
- Python 3.9+
- Flask
- SQLAlchemy
- SQLite (по умолчанию)
-
Клонировать репозиторий и перейти в него в командной строке:
git clone git@github.com:corbuncul/yacut.git
cd yacut -
Cоздать и активировать виртуальное окружение:
python3 -m venv venv
-
Если у вас Linux/macOS
source venv/bin/activate -
Если у вас windows
source venv/scripts/activate
-
-
Установить зависимости из файла requirements.txt:
python3 -m pip install --upgrade pip
pip install -r requirements.txt
-
Создать файл ".env" и прописать константы:
FLASK_APP={Ваше название приложения} FLASK_DEBUG={Режим отладки (True/False)} DATABASE_URI={Ваше подключение к базе данных (например: sqlite:///db.sqlite3)} SECRET_KEY={Ваш секртный ключ (любая случайная строка)}
-
Применить миграции:
flask db upgrade
```bash
flask run
```
Проект будет доступен по адресу http://localhost:5000/
-
Запрос:
{ "url": "string", "custom_id": "string" }Ответ:
{ "url": "string", "short_link": "string" } -
Запрос:
{ "url": "string" }Ответ:
{ "url": "string", "short_link": "string" } -
Запрос:
Ответ:
{ "url": "string" } -
{ "message": "Описание ошибки" }
Автор: Иван Агафонов
Этот проект лицензирован под лицензией MIT.
Лицензия MIT
Copyright © «2024» «Иван Агафонов»
Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, а также лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:
Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.