Skip to content

QRkot_spreadsheets is an API for managing cat charity donations with a feature for superusers to generate Google Sheets reports, encompassing user and project management, and donation processing.

Notifications You must be signed in to change notification settings

DmitrySmolov/QRkot_spreadsheets

Repository files navigation

Кошачий благотворительный фонд (0.1.1)

Фонд собирает пожертвования на различные целевые проекты: на медицинское обслуживание нуждающихся хвостатых, на обустройство кошачьей колонии в подвале, на корм оставшимся без попечения кошкам — на любые цели, связанные с поддержкой кошачьей популяции.
В этой версии добавлена возможность составления отчёта со списком всех закрытых проектов, отсортированных по скорости их закрытия.

Возможности приложения

  • Авторизация и аутентификация пользователей.
  • Управление пользователями и благотворительными проектами.
  • Совершение пожертвований на благотворительные проекты.
  • Создание новых благотворительных проектов и редактирование уже существующих.
  • Получение отчетов о благотворительных проектах в виде Google таблиц.

Технологии

Python FastAPI SQLAlchemy Aiogoogle

Установка

Клонируйте репозиторий на ваш компьютер, в локальном репозитории создайте и активируйте виртуальное окружение, обновите менеджер пакетов pip и установите зависимости из файла requirements.txt.

git clone <адрес репозитория>
python -m venv venv
python -m pip install --upgrade pip
pip install -r requirements.txt

Использование

В корне проекта создайте файл переменных окружения .env со следующими переменными:

APP_TITLE=<Укажите, если хотите придумать своё название приложения>
APP_DESCRIPTION=<Укажите, если хотите придумать своё описание приложения>
DATABASE_URL=<Укажите для использования своей БД (по умолчанию sqlite)>
SECRET_KEY=<ваш секретный ключ>
FIRST_SUPERUSER_EMAIL=<Укажите ваш емэйл первого суперюзера (по умолчанию superuser@superuser.com)
FIRST_SUPERUSER_PASSWORD=<Укажите ваш пароль первого суперюзера (по умолчанию SuperUser1234)
EMAIL=<Укажите ваш емэйл аккаунта Google>
Следующие значения возьмите из JSON-файла с ключом доступа к сервисному аккаунту (раздел Credentials на Google Cloude Platform: https://support.google.com/a/answer/7378726?hl=ru) Всё это нужно для функции составления отчётов в Google sheets.
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=...

Примените миграции:

alembic upgrade head

Приложение готово к запуску по следующей команде:

uvicorn app.main:app --reload

Во время первого запуска будет создан первый суперюзер.
Вы можете ознакомиться в функционалом доступных эндпоинтов по следующим адресам:

Авторство

Дима Смолов

Лицензия

MIT

About

QRkot_spreadsheets is an API for managing cat charity donations with a feature for superusers to generate Google Sheets reports, encompassing user and project management, and donation processing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published