QRkot_spreadsheets

QRKot

CI

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

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

Основные возможности:

  • В Фонде могут быть запущены несколько проектов, каждый из которых имеет название, описание и сумму сбора. Когда сумма собрана, проект закрывается.
  • Пользователи могут делать пожертвования на любую сумму, добавляя при желании комментарий. Пожертвования идут в общий фонд и распределяются по проектам до сбора полной суммы. Если пожертвовано больше, чем требуется, остаток сохраняется для следующего проекта. Новые средства автоматически инвестируются в новый проект при его запуске.
  • Администраторы сайта создают проекты и управляют ими. Пользователи видят полный список проектов и их статус. Зарегистрированные пользователи также могут отправлять пожертвования и отслеживать свои предыдущие взносы.

Дополнительная возможность:

  • Возможность создавать отчеты о скорости закрытия проектов в Google Таблицах.

Запуск проекта:

  1. Клонируем проект.
git clone git@github.com:IlyaVasilevsky47/QRkot_spreadsheets.git
  1. Создаем и активируем виртуальное окружение.
python -m venv venv
source venv/scripts/activate
  1. Обновляем менеджер пакетов pip и устанавливаем зависимости из файла requirements.txt.
python -m pip install --upgrade pip
pip install -r requirements.txt
  1. Создаем файл .env и заполняем его.
DATABASE_URL=sqlite+aiosqlite:///./cat-foundation.db
  1. Создаем базу данных.
alembic upgrade head
  1. Запускаем проект.
uvicorn app.main:app

Пример запроса:

Аутентификация (POST): https://cors.redoc.ly/auth/register

Входные данные:

{
  "email": "user@example.com",
  "password": "string",
  "is_active": true,
  "is_superuser": false,
  "is_verified": false
}

Полученные данные:

{
  "id": null,
  "email": "user@example.com",
  "is_active": true,
  "is_superuser": false,
  "is_verified": false
}

Документация:

Автор:

Технический стек

  • Python 3.9.0
  • sqlalchemy 1.4.36
  • FastAPI 0.78.0
  • FastAPI-Users 10.0.4
  • Uvicorn 0.17.6
  • aiosqlite 0.17.0
  • Aiogoogle 5.5.0
  • google-auth 2.23.2
Visit original content creator repository https://github.com/IlyaVasilevsky47/QRkot_spreadsheets

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *