Зарегистрированный пользователь вносит пожертвования, которые автоматически зачисляются на счет открытого проекта. Если в базе были не распределённые суммы пожертвований — они инвестируются в новый проект, когда он открывается. Все движения средств рассчитываются автоматически. Есть возможность формирования отчёта в гугл-таблице, где отображаются закрытые проекты, отсортированные по скорости сбора средств: от тех, что закрылись быстрее всего, до тех, что долго собирали нужную сумму.
- Клонируйте проект из репозитория
https://github.com/Aqua178/QRkot_spreadsheets.git
- Создайте и активируйте виртуальное окружение:
python -m venv venv
source venv/bin/activate
- Установите зависимости:
pip install -r requirements.txt
-
На примере файла env_example сохраните в файле .env содержимое и дополните своими данными.
-
Запустите сервер с помощью следующей команды:
uvicorn app.main:app --reload
В Google Cloud Platform создайте проект с сервисным аккаунтом, подключите к нему API: Google Drive API и Google Sheets API. Cгенерируйте JSON-файл с ключом доступа, добавьте указанные данные в файл.env:
EMAIL=
TYPE=
PROJECT_ID=
PRIVATE_KEY_ID=
PRIVATE_KEY="..."
CLIENT_EMAIL=
CLIENT_ID=
AUTH_URI=
TOKEN_URI=
AUTH_PROVIDER_X509_CERT_URL=
CLIENT_X509_CERT_URL=
Перейдите на http://127.0.0.1:8000/docs - Вам станет доступно управление пользователями, проектами и пожертвованиями.
- Alembic 1.7.7
- Aiogoogle 4.2.0
- FastAPI 0.78.0
- Google Sheet API v4
- Google Drive API v3
- Python 3.10
- SQLAlchemy 1.4.36
- Uvicorn 0.17.6
- Google API