Skip to content

Latest commit

 

History

History
76 lines (66 loc) · 5.93 KB

README.md

File metadata and controls

76 lines (66 loc) · 5.93 KB

Проект 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