Это приложение для благотворительного фонда поддержки котиков, позволяющее собирать пожертвования на различные целевые проекты.
Фонд собирает пожертвования для помощи кошкам. Пожертвования распределяются по принципу First In, First Out (FIFO), чтобы сначала закрывать наиболее старые открытые проекты. Администраторы создают проекты, а пользователи могут делать пожертвования.
-
Клонируйте репозиторий командой
git clone <repository_url>
, затем перейдите в директорию с проектом. -
Создайте и активируйте виртуальное окружение:
python -m venv venv source venv/bin/activate # На Windows используйте `venv\Scripts\activate`
-
Установите зависимости:
pip install -r requirements.txt
-
Настройте переменные окружения, создайте файл
.env
в корне проекта и добавьте необходимые переменные:APP_TITLE=Благотворительный фонд DESCRIPTION=Благотворительный фонд для сбора пожертвований DATABASE_URL=sqlite+aiosqlite:///./fastapi.db SECRET=YOUR_SECRET FIRST_SUPERUSER_EMAIL=[email protected] FIRST_SUPERUSER_PASSWORD=admin
-
Примените миграции для настройки базы данных:
alembic upgrade head
-
Убедитесь, что
alembic.ini
указывает правильный путь дляDATABASE_URL
. -
Запустите приложение:
uvicorn app.main:app --reload
Документация доступна по адресу /docs
- Любой посетитель может просматривать список всех проектов.
- Суперпользователи могут создавать, изменять и удалять проекты, если в них нет внесённых средств.
- Зарегистрированные пользователи могут делать пожертвования и просматривать свои пожертвования.
Процесс "инвестирования" запускается при создании нового проекта или пожертвования. Неинвестированные суммы пожертвований автоматически распределяются на открытые проекты.