🐍 Python 3.8, Flask 2.0.2, Sqlalchemy 1.4.29, Wtforms 3.0.1, Flask-migrate 3.1.0, Jinja2 3.0.3, ❄️ flake8
yacut: ├── __pycache__ └── ... ├── tests ├── __pycache__ └── ... ├── venv ├── yacut ├── __pycache__ ├── static ├── templates ├── __init__.py ├── api_views.py ├── constants.py ├── error_handlers.py ├── forms.py ├── models.py └── views.py ├── .env ├──.flake8 ├── .gitignore ├── openapi.yml ├── pytest.ini ├── README.md ├── requirements.txt └── settings.py Проект YaCut — это сервис укорачивания ссылок. Его назначение — ассоциировать длинную пользовательскую ссылку с короткой, которую предлагает сам пользователь или предоставляет сервис.
Ключевые возможности сервиса:
- генерация коротких ссылок и связь их с исходными длинными ссылками;
- переадресация на исходный адрес при обращении к коротким ссылкам.
Пользовательский интерфейс сервиса — одна страница с формой. Эта форма состоит из двух полей:
- поле для длинной исходной ссылки (обязательное для заполнения);
- поле для пользовательского варианта короткой ссылки (необязательное для заполнения).
Пользовательский вариант короткой ссылки не должен превышать 16 символов.
FLASK_APP=yacut FLASK_ENV=development DATABASE_URI=ChooseDataBase SECRET_KEY=Your!$ecretKey8 Example: DATABASE_URI=sqlite:///db.sqlite3 - Клонировать репозиторий:
git clone https://github.com/simatheone/yacut.git- Создать и активировать виртуальное окружение и :
python3 -m venv venv bash/zsh source venv/bin/activate Windows: venv\Scripts\activate.bat- Обновить pip и установить зависимости из
requirements.txt
python3 -m pip install --upgrade pip pip install -r requirements.txt- Создать и заполнить файл .env в соответствии с рекомендациями:
touch .env- Выполнить миграции:
flask db init flask db migrate -m "короткое сообщение" flask db upgrade- Запустить проект:
flask runПосле запуска проект будет доступен по адресу: http://127.0.0.1:5000
Автор проекта: Alexander Sviridov
Pytests: YandexPracticum