You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
2.5 KiB
46 lines
2.5 KiB
##Обзор архитектуры
|
|
|
|
|
|
###Backend
|
|
Представляет из себя веб-приложение на Python с использованием
|
|
следующих фреймворков и технологий: Django-2.0.1
|
|
|
|
Сервер проекта предоставляет для клиентской части API на основе REST, реализуя методы
|
|
CRUD для целей доступа к персистентным хранилищам данных
|
|
Сервер проекта хранит статические и медиа данные в файловой системе.
|
|
|
|
Данные хранятся в СУБД PostgreSQL 9.6.6
|
|
|
|
###Клиент проекта
|
|
Имеются два клиента проекта: одностраничное приложение (SPA),
|
|
реализующее интерфейс администратора, и серверное приложение для посетителей ресурса
|
|
|
|
### Приложение администратора систем
|
|
Клиент реализующий административный интерфейс представляет из себя SPA приложение на Javascript с использованием следующих фреймворков и технологий:
|
|
* react-0.14
|
|
* react-router-2.0
|
|
* react-redux-4.4
|
|
* react-bootstrap-0.28
|
|
* webpack-1.12
|
|
* sass
|
|
|
|
### Приложение посетителя ресурса
|
|
Является приложением - набором публичных страниц, которые собираются из шаблонов на сервере.
|
|
Для сложных динамических элементов на клиентской стороне используется React и обращение к методам API на backend.
|
|
|
|
* Django router
|
|
* Django templates
|
|
* jQuery v3.0.0
|
|
* react-0.14.7
|
|
* webpack-1.12
|
|
|
|
##Интеграции
|
|
|
|
* Транзакционные письма Mailgun `django-anymail 1.2`
|
|
* Рассылки писем Mailchimp `python-mailchimp 2.0`
|
|
* СМС-уведомления и рассылки `Twillio twilio 6.10`
|
|
* Получение оплат Paymentwall `paymentwall-python 1.0`
|
|
* Авторизация в FB Facebook `django-facebook 6.0`
|
|
|
|
###Диаграмма сущностей проекта
|
|
[Диаграмма сущностей проекта.png](https://lh4.googleusercontent.com/GNC1S1-ylduVcPPym4vfV4lrYrkTLB0lFfcevHd6paOv3NRvsB9L0pE9FIRked7d1qk6-h-sxk8RHg=w2560-h1312-rw) |