Skip to content

simatheone/yacut

Repository files navigation

YaCut ✂️

Оглавление

Используемые технологии

🐍 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 символов.

🔝 Вернуться к оглавлению

Заполнение конфигурационного .env файла

FLASK_APP=yacut FLASK_ENV=development DATABASE_URI=ChooseDataBase SECRET_KEY=Your!$ecretKey8 Example: DATABASE_URI=sqlite:///db.sqlite3 

Запуск проекта

  1. Клонировать репозиторий:
git clone https://github.com/simatheone/yacut.git
  1. Создать и активировать виртуальное окружение и :
python3 -m venv venv bash/zsh source venv/bin/activate Windows: venv\Scripts\activate.bat
  1. Обновить pip и установить зависимости из requirements.txt
python3 -m pip install --upgrade pip pip install -r requirements.txt
  1. Создать и заполнить файл .env в соответствии с рекомендациями:
touch .env
  1. Выполнить миграции:
flask db init flask db migrate -m "короткое сообщение" flask db upgrade
  1. Запустить проект:
flask run

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

🔝 Вернуться к оглавлению

Автор проекта: Alexander Sviridov

Pytests: YandexPracticum

Releases

No releases published

Packages

No packages published