diff --git a/docs/index.md b/docs/README.md similarity index 77% rename from docs/index.md rename to docs/README.md index 072007cb..6b60d664 100644 --- a/docs/index.md +++ b/docs/README.md @@ -1,3 +1,5 @@ +# Index + ### [Обзор архитектуры](overview.md) ### [Описание API](api.md) ### [Работа с сервисом оплат Paymentwall](paymentwall.md) diff --git a/docs/api.md b/docs/api.md index ea52c5f4..a2a1061c 100644 --- a/docs/api.md +++ b/docs/api.md @@ -1,13 +1,13 @@ -#REST API +# REST API -##Авторизация +## Авторизация HTTP заголовок: Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 Токен возвращается в ответ на `/auth` -##Статус коды ответов +## Статус коды ответов Успех: 2ХХ Ошибка сервера: 5ХХ Ошибка входящего запроса (включая ошибки бизнес-логики): 4ХХ В ответе возвращается тип ошибки {"error": "E_VALIDATION"} -##Общие ошибки: +## Общие ошибки: * E_VALIDATION Ошибка входящих параметров * E_SESSION_EXPIRED Сессия истекла, пользователя нужно направить на форму авторизации @@ -16,10 +16,10 @@ HTTP заголовок: Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV * E_NOT_FOUND Сущность не найдена * E_ACCESS Не достаточно прав для просмотра -##Формат ответа +## Формат ответа Ответ от сервера возвращается в JSON. Значение null описывает не установленное значение имеющегося поле. В UI должно выводиться как «Не установлено», прочерк и тп, в инпутах каститься в пустую строку -##Работа с файлами +## Работа с файлами Работа с файлами происходит единообразно в данных формы (multipart/form-data): * загрузка/обновление: POST/PUT {param: text, ..., file: file} diff --git a/docs/entities-diagram.png b/docs/entities-diagram.png new file mode 100644 index 00000000..06287181 Binary files /dev/null and b/docs/entities-diagram.png differ diff --git a/docs/overview.md b/docs/overview.md index e18fe2fb..9a76ee46 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -1,7 +1,7 @@ -##Обзор архитектуры +## Обзор архитектуры -###Backend +### Backend Представляет из себя веб-приложение на Python с использованием следующих фреймворков и технологий: Django-2.0.1 @@ -11,7 +11,7 @@ CRUD для целей доступа к персистентным хранил Данные хранятся в СУБД PostgreSQL 9.6.6 -###Клиент проекта +### Клиент проекта Имеются два клиента проекта: одностраничное приложение (SPA), реализующее интерфейс администратора, и серверное приложение для посетителей ресурса @@ -34,7 +34,7 @@ CRUD для целей доступа к персистентным хранил * react-0.14.7 * webpack-1.12 -##Интеграции +## Интеграции * Транзакционные письма Mailgun `django-anymail 1.2` * Рассылки писем Mailchimp `python-mailchimp 2.0` @@ -42,5 +42,6 @@ CRUD для целей доступа к персистентным хранил * Получение оплат Paymentwall `paymentwall-python 1.0` * Авторизация в FB Facebook `django-facebook 6.0` -###Диаграмма сущностей проекта -[Диаграмма сущностей проекта.png](https://lh4.googleusercontent.com/GNC1S1-ylduVcPPym4vfV4lrYrkTLB0lFfcevHd6paOv3NRvsB9L0pE9FIRked7d1qk6-h-sxk8RHg=w2560-h1312-rw) \ No newline at end of file +### Диаграмма сущностей проекта + +![Диаграмма сущностей проекта.png](entities-diagram.png) \ No newline at end of file diff --git a/docs/paymentwall.md b/docs/paymentwall.md index 9fd9c5f1..91a627e9 100644 --- a/docs/paymentwall.md +++ b/docs/paymentwall.md @@ -1,4 +1,4 @@ -#Paymentwall +# Paymentwall Для получения оплат от пользователей с помощью различных платежных систем используется [Paymentwall Checkout API](https://docs.paymentwall.com/integration/checkout-home) Функциональные возможности: @@ -8,7 +8,7 @@ * Управление купонами в Личном кабинет -##Flow +## Flow 1. Пользователь на сайте выбирает продукт для приобретения 2. В БД сохраняется информации о приобретаемом продукте и начальном статусе оплаты: `pending` diff --git a/docs/roles.md b/docs/roles.md index c947713d..35c099f9 100644 --- a/docs/roles.md +++ b/docs/roles.md @@ -1,4 +1,4 @@ -#Роли и права +# Роли и права * guest - Незарегистрированный посетитетель * user - Зарегистрированный посетитель