Данный проект позволяет открывать фонды пожертвований, вносить суммы пожертвований, закрывать фонды автоматически при достижении необходимой суммы, автоматически переносить остаток пожертвований в незакрытый фонд. В проекте реализованы механизмы авторизации и предоставления прав пользователям в зависимости от роли.
- Создание администратором благотворительных проектов
- Внесение пожертвований зарегистрированными пользователями
- Автоматическое инвестирование поступающих средств в открытые проекты
- Регистрация пользователей реализовано при помощи FastAPI Users
- Возможность получить отчет о проектах в Google Sheets
Стек проекта: Python 3.9, FastAPI 0.78.0, SQLAlchemy 1.4.36, pydantic 1.9.1, Alembic 1.7.7, Google API.
- Клонировать репозиторий локально:
git clone [email protected]:aten88/charity_fund_with_google_spreadsheets.git
- В корневом каталоге создайте файл .env и добавьте в него данные (при необходимости):
APP_TITLE=Some Fund Name # Название фонда
APP_DESCRIPTION=Some description # Описание фонда
DATABASE_URL=type_db+somemodule_db:///./somename.db # Путь подключения к БД
SECRET=SOMESECRETKEY # Ключ для генерации хэша
[email protected] # Почта для суперюзера по умолчанию(при желании)
FIRST_SUPERUSER_PASSWORD=SomeXXXSECRETPass##** # Пароль для суперюзера по умолчанию(при желании)
-
Установите и активируйте виртуальное окружение:
python -m venv venv
- Windows:
source/venv/scripts/activate
- Linux/Mac OS:
source/venv/bin/activate
- Windows:
-
Установите зависимости:
pip install -r requirements.txt
-
Создайте миграции:
alembic revision --autogenerate -m "First migration"
- Примените миграции:
shell alembic upgrade head
- Запустите проект:
shell uvicorn app.main:app --reload
- При запущенном проекте откройте одну из ссылкок в браузере:
- Swagger:
-
shell http://127.0.0.1:8000/docs
- Redoc:
shell http://127.0.0.1:8000/redoc