Skip to content

Andrey-Kugubaev/cat_charity_fund

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект QRKot

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

Python FastAPI SQLAlchemy Pydantic Flake8

Оглавление:


Введение

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


Технические подробности

API проекта соответствует спецификации Openapi После запуска документация по API доступна по адресами 127.0.0.1:8000/docs по стандарту Swagger и 127.0.0.1:8000/redoc API разделены на группы: проекты, пожертвования, пользователи

Проекты

  • Просмотр существующих проектов (доступно всем).
  • Создавать, удалять и обновлять проекты могут только администраторы (суперпользователи).

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

  • Просматривать существующие и создавать новые донаты могут все зарегистрированные пользователи.
  • Каждый зарегистрированный пользователь может просматривать свои созданные пожертвования.
  • Удалять созданные пожертвования нельзя!

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

  • Зарегистрированные пользователи могут просматривать информацию о себе, обновлять данные о себе.

Инструкция по запуску

  1. Клонировать репозиторий:
    git clone [email protected]:Andrey-Kugubaev/cat_charity_fund.git
    и перейти в директорию проекта cat_charity_fund

Для Linux/macOS
2. Создать и активировать вирутально окружение:
python3 -m venv venv
source venv/bin/activate
3. Установить зависимости из файла requirements.txt:
python3 -m pip install --upgrade pip
pip install -r requirements.txt
4. Применить миграции:
alembic upgrade head
5. Запусить проект:
uvicorn app.main:app --reload

Для Windows
2. Создать и активировать вирутально окружение:
python -m venv venv
source venv/scripts/activate
3. Установить зависимости из файла requirements.txt:
python -m pip install --upgrade pip
pip install -r requirements.txt
4. Применить миграции:
alembic upgrade head
5. Запусить проект:
uvicorn app.main:app --reload

Releases

No releases published

Packages

No packages published