Skip to content

magicbuka/QRkot_spreadsheets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QRkot_spreadseets

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

Проекты

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

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

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

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

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

У адмимистратора имеется возможность получать отчеты о завершенных проектах в Google Sheets.

Используемые технологии

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

  1. Клонировать репозиторий:
git clone https://github.com/magicbuka/QRkot_spreadsheets.git
  1. Создать виртуальное окружение:
python -m venv venv
  1. Активировать виртуальное окружение и установить зависимости из requirements.txt:
source venv/Scripts/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
  1. Применить миграции:
alembic upgrade head
  1. Запустить проект:
uvicorn app.main:app --reload

При необходимости в корневой папке создайте файл .env и заполните своими данными:

APP_TITLE=         
APP_DESCRIPTION=   
DATABASE_URL=      
SECRET=
FIRST_SUPERUSER_EMAIL=
FIRST_SUPERUSER_PASSWORD=
EMAIL=
TYPE=
PROJECT_ID=
PRIVATE_KEY_ID=
PRIVATE_KEY=
CLIENT_EMAIL=
CLIENT_ID=
AUTH_URI=
TOKEN_URI=
AUTH_PROVIDER_X509_CERT_URL=
CLIENT_X509_CERT_URL=

Документация проекта QRKot

Swagger ReDoc

Разработчик проекта Baranova Anna

About

FastAPI + SQLAlchemy + aiogoogle

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published