Тестовый проект сервиса пользовательских рецептов.
Проект временно не ведётся
Чтобы запустить приложение, следуйте инструкции (для систем на базе Ubuntu и Python версии 3.10; для других систем или версий Python описанные шаги могут отличаться):
- Скачайте файлы и распакуйте в отдельную папку.
- В терминале перейдите в папку с файлами приложения.
- Создайте виртуальную среду при помощи команды
python3 -m venv env
, где env - название виртуальной среды - Активируйте созданную виртуальную среду при помощи команды
source env/bin/activate
, где env - название виртуальной среды - Установите библиотеки, необходимые для работы приложения, при помощи команды
pip install -r requirements.txt
- Данное приложение работает с базой данных PostgreSQL. Если в вашей системе ещё не был установлен PostgreSQL, то, после п.5 вам нужно будет создать нового пользователя в PostgreSQL. Если же у вас уже есть зарегистрированный пользователь, переходите к п. 7.
- Войдите в PostgreSQL как пользователь и создайте базу данных под любым именем, например test_db - команда
create database test_db;
(запомните название базы данных: оно пригодится в п. 10). - В корне папки с приложением создайте файл .env (команда
touch .env
в терминале). В данном файле будет храниться конфигурация подключения к базе данных, а также данные для авторизации администратора. - Откройте файл .env любым текстовым редактором, например Sublime - команда
subl .env
в терминале. - Внесите в файл .env следующие строки:
# Информация для JWT-аутентификации администратора
secret = сгенерировать самостоятельно, см. п. 11
algorithm = HS256
# Информация для входа в базу данных
POSTGRES_USER= логин вашего пользователя PostgreSQL
POSTGRES_PASSWORD= пароль вашего пользователя PostgreSQL
POSTGRES_SERVER= по умолчанию можно использовать localhost либо заменить на любой другой
POSTGRES_PORT= по умолчанию порт 5432, можно заменить на любой другой
POSTGRES_DB= название базы данных, которую вы создали в п.7
# Данные для входа в учётную запись администратора
admin_username = любой логин, обязательно в кавычках
admin_password = любой пароль, обязательно в кавычках
- Сгенерируйте секретный код для поля secret. Для этого в терминале:
- запустите оболочку Python командой
python3
- импортируйте secrets командой
import secrets
- сгенерируйте рандомный ключ (к примеру, 16-значный) командой
secrets.token_hex(16)
- скопируйте полученное значение (без кавычек) и вставьте в поле secret в файле .env
- выйдите из оболочки Python командой
quit()
-
Сохраните файл .env
-
Запустите при помощи Python файл create_db.py - команда
python3 create_db.py
в терминале. Этот файл создаст все необходимые таблицы для работы приложения. -
Запустите приложение на локальном сервере - команда
uvicorn main:app --reload
в терминале
Стартовая страница приложения доступна по адресу локального сервера 127.0.0.1:8000/ . Обратите внимание: в данном приложении не реализована функция добавления авторов и рецептов через графический интерфейс. Для целей тестирования используйте SwaggerUI - перейдите на 127.0.0.1:8000/docs и добавляйте записи напрямую через методы. Документация по методам в OpenAPI: см. 127.0.0.1:8000/redoc