QRKot — это API для Благотворительного фонда поддержки котиков.
Фонд собирает пожертвования на различные проекты, включая медицинское обслуживание, обустройство колоний в подвалах, корм для кошек, оставшихся без опеки, и любые другие цели, связанные с поддержанием популяции кошек.
- В Фонде могут быть запущены несколько проектов, каждый из которых имеет название, описание и сумму сбора. Когда сумма собрана, проект закрывается.
- Пользователи могут делать пожертвования на любую сумму, добавляя при желании комментарий. Пожертвования идут в общий фонд и распределяются по проектам до сбора полной суммы. Если пожертвовано больше, чем требуется, остаток сохраняется для следующего проекта. Новые средства автоматически инвестируются в новый проект при его запуске.
- Администраторы сайта создают проекты и управляют ими. Пользователи видят полный список проектов и их статус. Зарегистрированные пользователи также могут отправлять пожертвования и отслеживать свои предыдущие взносы.
- Возможность создавать отчеты о скорости закрытия проектов в Google Таблицах.
- Клонируем проект.
git clone [email protected]:IlyaVasilevsky47/QRkot_spreadsheets.git
- Создаем и активируем виртуальное окружение.
python -m venv venv
source venv/scripts/activate
- Обновляем менеджер пакетов pip и устанавливаем зависимости из файла requirements.txt.
python -m pip install --upgrade pip
pip install -r requirements.txt
- Создаем файл .env и заполняем его.
DATABASE_URL=sqlite+aiosqlite:///./cat-foundation.db
- Создаем базу данных.
alembic upgrade head
- Запускаем проект.
uvicorn app.main:app
Аутентификация (POST): https://cors.redoc.ly/auth/register
{
"email": "[email protected]",
"password": "string",
"is_active": true,
"is_superuser": false,
"is_verified": false
}
{
"id": null,
"email": "[email protected]",
"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