Coder Social home page Coder Social logo

diplom's Introduction

API Сервис заказа товаров для розничных сетей

Настройка

Для запуска сервиса, необходимо:

  • Клонировать репозиторий
  • Настроить .env файл
docker compose up

Swagger-UI доступен после запуска проекта по адресу:

http://localhost:8080

Для работы авторизации через ВК требуется:

  1. перейти на страницу создания приложения ВК
  2. создать приложение типа Сайт
  3. перейти на вкладку Настройки
  4. значение поля ID приложения задать переменной окружения SOCIAL_AUTH_VK_OAUTH2_KEY в файле .env
  5. значение поля Защищённый ключ задать переменной окружения SOCIAL_AUTH_VK_OAUTH2_SECRET в файле .env

Эндпоинты



Для покупателя

/login/vk-oauth2/

GET - авторизация/регистрация через ВК.

/users/

GET - получить данные текущего пользователя.
POST - зарегистрировать нового пользователя.
PATCH - изменить данные текущего пользователя.

/users/auth/

POST - авторизация по email и паролю (получить токен авторизации).

/user/password_reset/

POST - отправить на почту запрос сброса пароля.

/user/password_reset/confirm/

POST - сбросить пароль на новый.

/user/contact/

GET - получить список всех контактов.
POST - создать контакт.

/user/contact/1/

GET - получить контакт с id равным 1.
PATCH - изменить контакт с id равным 1.
DELETE - удалить контакт с id равным 1.

/shops/

GET - получить список всех магазинов.
POST - создать магазин.

/shops/1/

GET - получить магазин с id равным 1.
PATCH - изменить магазин с id равным 1.

/categories/

GET - получить список всех категорий товаров

/categories/1/

GET - получить категорию с id равным 1.

/products/

GET - Получить список всех товаров.

Доступна фильтрация товаров по:

name = наименование товара
shop = название магазина
min_price = минимальная цена товара
max_price = максимальная цена товара
min_price_rrc = минимальная рекомендованная цена товара
max_price_rrc = максимальная рекомендованная цена
category = категория товара
quantity = количество товара \

/products/1/

GET - получить товар с id равным 1.

/basket/

GET - получить информацию о текущей корзине (если она есть).
POST - добавить товар/изменить количество по id.
DELETE - удалить из корзины товар(ы) с id из списка.

/order/

GET - получить все заказы.
POST - разместить заказ из корзины на предварительно созданный контакт.

/order/1/

GET - получить свой заказ с id равным 1.

/order/seller_order/1/

DELETE - полностью отменить заказ для магазина, где id заказа магазина равен 1.

Для продавца

/partner/products/import/

POST - импорт товаров в формате .yaml.

Требуется к запросу прикрепить файл в тело запроса, пример файла находится в /app/data.

GET - Проверить результат импорта товаров.

/partner/products/

GET - получить список всех товаров своего магазина.
доступна фильтрация

POST - создать товар.

/partner/products/1/

GET - получить товар своего магазина с id товара равным 1.
PATCH - изменить товар своего магазина с id товара равным 1
DELETE - обнулить количество товара в наличии.

/partner/state/

GET - получить текущий статус своего магазина.
POST - изменить статус своего магазина.

/partner/orders/

GET - получить список всех заказов своего магазина.

/partner/orders/5/

GET - получить заказ своего магазина с id равным 5.
PATCH - изменить заказ своего магазина с id равным 5.

diplom's People

Contributors

quzist avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.