API-приложение для сбора финансовой поддержки проектов. Пользователи могут просмотреть список всех проектов, включая необходимые и уже внесенные суммы. Зарегистрированные пользователи могут делать пожертвования и просматривать историю своих пожертвований. Реализована возможность формирования отчёта в Google Sheet. В таблицу выгружаются данные закрытых проектов, отсортированные по скорости сбора средств: от тех, что закрылись быстрее всего, до тех, что долго собирали нужную сумму.
Клонировать репозиторий в командной строке:
git clone [email protected]:Tatiana314/Financial_support_for_projects.git && sd Financial_support_for_projects
Cоздать и активировать виртуальное окружение:
python -m venv venv
Linux/macOS: source env/bin/activate
windows: source env/scripts/activate
Установить зависимости из файла requirements.txt:
python -m pip install --upgrade pip
pip install -r requirements.txt
В директории Financial_support_for_projects создать и заполнить файл .env:
touch .env
DATABASE_URI=<sqlite:///db.sqlite3>
SECRET_KEY=<SECRET_KEY>
FIRST_SUPERUSER_EMAIL = <EMAIL>
FIRST_SUPERUSER_PASSWORD=<PASSWORD>
# Доступ к сервисному аккаунту:
EMAIL = <EMAIL>
TYPE = <TYPE>
PROJECT_ID = "careful-ensign-413405"
PRIVATE_KEY_ID = "fc57537054c5264263b29862562ba3c3f0845528"
PRIVATE_KEY = <KEY>
CLIENT_EMAIL = <CLIENT_EMAIL>
CLIENT_ID = <CLIENT_ID>
AUTH_URI = <AUTH_URI>
TOKEN_URI = <TOKEN_URI>
AUTH_PROVIDER_X509_CERT_URL = <AUTH_PROVIDER_X509_CERT_URL>
CLIENT_X509_CERT_URL = <CLIENT_X509_CERT_URL>
Выполнить миграции:
alembic upgrade head
Запустить проект:
uvicorn app.main:app --reload
Документация сервера:
-
Формат документации — Swagger: http://127.0.0.1:8000/docs
-
Формат документации — ReDoc: http://127.0.0.1:8000/redoc