Skip to content

Приложение на FastAPI для Благотворительного фонда поддержки котиков

Notifications You must be signed in to change notification settings

kaspeya/Cat_Charity_Fund_QRkot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Приложение QRKot

FastAPI Pydantic SQLAlchemy Alembic

Описание проекта

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

Проекты

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

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

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

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

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

Шаблон наполнения файла cat_charity_fund/.env

 APP_TITLE=QRKot
 APP_DESCRIPTION=Приложение для Благотворительного фонда поддержки котиков QRKot.
 DATABASE_URL=sqlite+aiosqlite:///./cat_charity_fund.db
 SECRET=SECRET
 FIRST_SUPERUSER_EMAIL=admin@admin.com
 FIRST_SUPERUSER_PASSWORD=admin

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

  • Клонируйте репозиторий и перейдите в папку проекта:
git clone git@github.com:kaspeya/cat_charity_fund.git
  • Установите и активируйте виртуальное окружение:
python -m venv venv
source venv/Scripts/activate
  • Установите зависимости из файла requirements.txt:
python -m pip install --upgrade pip
pip install -r requirements.txt
  • Создать и заполнить файл .env в соответствии с рекомендациями:
  • Применение миграций
alembic upgrade head 
  • Запустить проект
uvicorn app.main:app --reload

Создание миграции First migration

alembic revision --autogenerate -m "ADD donation" 

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

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

Автор: Елизавета Шалаева

About

Приложение на FastAPI для Благотворительного фонда поддержки котиков

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published