Python 3.10
FastAPI
Alembic
Pydantic
SQLAlchemy
Aiogoogle API
Фонд собирает пожертвования на различные целевые проекты:
- на медицинское обслуживание нуждающихся хвостатых;
- на обустройство кошачьей колонии в подвале;
- на корм оставшимся без попечения кошкам;
- на любые цели, связанные с поддержкой кошачьей популяции.
В Фонде QRKot может быть открыто несколько целевых проектов. У каждого проекта есть название, описание и сумма, которую планируется собрать. После того, как нужная сумма собрана — проект закрывается.
Пожертвования в проекты поступают по принципу First In, First Out: все пожертвования идут в проект, открытый раньше других; когда этот проект набирает необходимую сумму и закрывается — пожертвования начинают поступать в следующий проект.
Каждый пользователь может сделать пожертвование и сопроводить его комментарием. Пожертвования не целевые: они вносятся в фонд, а не в конкретный проект.
Каждое полученное пожертвование автоматически добавляется в первый открытый проект, который ещё не набрал нужную сумму. Если пожертвование больше нужной суммы или же в Фонде нет открытых проектов — оставшиеся деньги ждут открытия следующего проекта.
При создании нового проекта все неинвестированные пожертвования автоматически вкладываются в новый проект.
git clone https://github.com/antonata-c/cat_charity_fund.git
cd cat_charity_fund
- Если у вас Linux/macOS
python3 -m venv venv source venv/bin/activate
- Если у вас windows
python -m venv venv source venv/Scripts/activate
python3 -m pip install --upgrade pip
pip install -r requirements.txt
alembic upgrade head
uvicorn app.main:app --reload
Ссылка на документацию (OpenAPI)
Для просмотра документации загрузите файл на сайт https://redocly.github.io/redoc/. Вверху страницы есть кнопка Upload a file, нажмите её и загрузите скачанный файл. Спецификация проекта отобразится в формате ReDoc.