Skip to content

ItsFreez/QRKot

Repository files navigation

QRKot

Описание

QRKot - это API, разработанное для благотворительного фонда, целью которого является сбор средств для помощи нашим пушистым друзьям.

Основной функционал проекта:

  • Регистрация и работа с пользователями
  • Создание и редактирование администратором благотворительных проектов
  • Внесение пожертвований пользователями
  • Автоматическое инвестирование поступающих пожертвований в открытые проекты

Стек технологий

Возможности API

  1. Проекты - эндпоинт /charity_project/

    • Просмотр всех проектов (любой пользователь)
    • Создание целевых проектов (только для суперюзера)
    • Частичное изменение проектов (только для суперюзера)
    • Удаление проектов, кроме уже инвестированных (только для суперюзера)
  2. Пожертвования - эндпоинт /donation/

    • Создание пожертвования (авторизованный пользователь)
    • Просмотр своих пожертвований (только для их владельца)
    • Просмотр всех пожертвований (только для суперюзера)
  3. Пользователи - эндпоинты /auth/ и /users/

    • Регистрация пользователя
    • Аутентификация пользователя
    • Получение текущего пользователя (только для владельца)
    • Изменение текущего пользователя (только для владельца)
    • Получение любого пользователя по его id (только для суперюзера)
    • Изменение любого пользователя по его id (только для суперюзера)

Для более подробного изучения функционала API, установите проект на свой компьютер согласно инструкции, изложенной ниже, запустите проект и перейдите по следующим ссылкам:

http://127.0.0.1:8000/docs
http://127.0.0.1:8000/redoc

Порядок действий для запуска проекта

1. Клонировать репозиторий и перейти в папку c проектом

git clone git@github.com:ItsFreez/QRKot.git
cd QRKot

2. Cоздать и активировать виртуальное окружение

Для Windows

python -m venv env
source venv/Scripts/Activate

Для MacOS/Linux

python3 -m venv env
source env/bin/activate

3. Обновить менеджер pip и установить зависимости из файла requirements.txt

python -m pip install --upgrade pip
pip install -r requirements.txt

4. Применить миграции для создания базы данных

alembic upgrade head

5. Создать файл .env и установить свои параметры на примере файла env.example

6. Запустить проект

uvicorn app.main:app  --reload

Автор проекта

ItsFreez

Releases

No releases published

Packages

No packages published