Фонд для сбора пожертвований. В нём может быть открыто несколько проектов. У каждого проекта есть название, описание и сумма, которую планируется собрать. После того, как нужная сумма собрана — проект закрывается. Пожертвования в проекты поступают по принципу First In, First Out.
Каждый пользователь может сделать пожертвование и сопроводить его комментарием. Пожертвования вносятся в фонд, а не в конкретный проект. Каждое полученное пожертвование автоматически добавляется в первый открытый проект, который ещё не набрал нужную сумму. Если пожертвование больше нужной суммы или же в Фонде нет открытых проектов — оставшиеся деньги ждут открытия следующего проекта. При создании нового проекта все неинвестированные пожертвования автоматически вкладываются в новый проект. Целевые проекты создаются администраторами сайта. Любой пользователь может видеть список всех проектов, включая требуемые и уже внесенные суммы. Это касается всех проектов — и открытых, и закрытых. Зарегистрированные пользователи могут отправлять пожертвования и просматривать список своих пожертвований.
FlaskAPI 0.78.0, Sqlalchemy 1.4.36, aiosqlite 0.17.0
- Установите и активируйте виртуальное окружение.
python -m venv venv
source venv/Scripts/./activate
- Обновите менеджер пакетов pip и установите зависимости.
python -m pip install --upgrade pip
pip install -r requirements.txt
- Запустите проект:
uvicorn app.main:app
Спецификация Swagger доступна по ссылке: http://127.0.0.1:8000/docs
Семёнов Сергей (Github - bluesprogrammer-Python, telegram - seregabrat9)