Skip to content

Latest commit

 

History

History
136 lines (99 loc) · 6.71 KB

README.md

File metadata and controls

136 lines (99 loc) · 6.71 KB

Приложение QRKot

Описание

QRKot - приложение для Благотворительного фонда поддержки котиков.

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

Проекты

В Фонде QRKot может быть открыто несколько целевых проектов. У каждого проекта есть название, описание и сумма, которую планируется собрать. После того, как нужная сумма собрана — проект закрывается. Пожертвования в проекты поступают по принципу First In, First Out: все пожертвования идут в проект, открытый раньше других; когда этот проект набирает необходимую сумму и закрывается — пожертвования начинают поступать в следующий проект.

Пожертвования

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

Пользователи

Целевые проекты создаются администраторами сайта. Любой пользователь может видеть список всех проектов, включая требуемые и уже внесенные суммы. Это касается всех проектов — и открытых, и закрытых. Зарегистрированные пользователи могут отправлять пожертвования и просматривать список своих пожертвований.

Технологии

Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge

Запуск

  • Склонируйте репозиторий
git clone git@github.com:dmsnback/cat_charity_fund.git
  • Перейдите в директорию с проектом
cd cat_charity_fund
  • Установите и активируйте виртуальное окружение
python3 -m venv venv

Для Windows

source venv/Scripts/activate

Для Mac/Linux

source venv/bin/activate
  • Установите зависимости из файла requirements.txt
python3 -m pip install --upgrade pip
pip install -r requirements.txt
  • В корневой директории создайте файл .env
APP_TITLE=Кошачий благотворительный фонд (0.1.0)
APP_DESCRIPTION=Сервис для поддержки котиков!
DATABASE_URL=sqlite+aiosqlite:///./fastapi.db
SECRET=YOU_SHALL_NOT_PASS!
FIRST_SUPERUSER_EMAIL=superuser@mail.com
FIRST_SUPERUSER_PASSWORD=superpassword
  • Для реализации отчёта в Google-таблице о проектах по скорости закрытия

    • Создать сервисный аккаунт на платформе Google Cloud Platform, получить JSON-файл с информацией о своем сервисном аккаунте

    • Дополнить .env файл

EMAIL=Почта основного аккаунта Google
TYPE=Тип аккаунта
PROJECT_ID=ID проекта
PRIVATE_KEY_ID=ID приватного ключа
PRIVATE_KEY=Приватный ключ
CLIENT_EMAIL=Почта клиентского аккаунта
CLIENT_ID=ID клиентского аккаунта
AUTH_URI=Эндпоинт аутентификации
TOKEN_URI=Эндпоинт токена
AUTH_PROVIDER_X509_CERT_URL=Эндпоинт аутентификации сертификата
CLIENT_X509_CERT_URL=Эндпоинт сертификата
  • Выполните миграции
alembic upgrade head
  • Запустите приложение
uvicorn app.main:app --reload

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

Документация к API досупна по адресам:

Автор

Вернуться в начало