Skip to content

sldmxm/fastAPI_training_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Проект написан для практического изучения FastAPI, SQLAlchemy, alembic, Aiogoogle

Технологии в проекте

  • FastAPI
  • SQLAlchemy
  • alembic
  • Aiogoogle

Функционал

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

Проекты

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

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

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

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

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

Полная документация API в файле openapi.json

Установка проекта

Клонируйте репозиторий:

git clone git@github.com:sldmxm/fastAPI_training_project.git

Создайте и активируйте виртуальное окружение, установите все необходимые пакеты из файла requirements.txt.

python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

В корневой директории создайте файл .env:

APP_TITLE=Кошачий благотворительный фонд (0.1.0)
DATABASE_URL=sqlite+aiosqlite:///./fastapi.db
SECRET=ваш_секретный_ключ
FIRST_SUPERUSER_EMAIL=имя@домен.com
FIRST_SUPERUSER_PASSWORD=пароль

Выполните миграции:

alembic upgrade head

Запуск

uvicorn app.main:app --reload 

Документация API доступна по адресу http://127.0.0.1:8000/docs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published