# EasyEducation Back-end описание
## Доступ к серверу
194.67.111.61
Логин: root
Пароль: |NxpiFd?4nPT
Путь к проекту:
/home/EasyEducation/
Путь к back-end проекта:
/home/EasyEducation/backend/
Путь к admin проекта:
/home/EasyEducation/admin/
## Описание admin и back-end
И admin и back-end являются микросервисами и работают с одной и той же БД. Запускаются в разных докер контейнерах.
Admin:
Работает с административной панелью
Back-end:
Работает с мобильным приложением
## Состав .env admin
```
# API keys
SMS_AERO_SIGN='cQZrqSpIXgiWuxFDVN9Qr7WK21G'
# Mode
APP_MODE='develop'
PROJECT_NAME='career_guidance'
PROJECT_VERSION='0.0.1'
# Database
DB_HOST='localhost'
DB_PORT='5432'
DB_NAME='easypro'
DB_PASSWORD='easypropassword'
DB_USER='easypro'
# SALT
SALT_PASSWORD='salt'
SALT_SESSION='session'
# Redis
REDIS_HOST='localhost'
REDIS_PORT=6379
DOMAIN_NAME='194.67.111.61'
DOMAIN_PROTOCOL='http://'
IS_RUN_IN_KUBERNETES=false
GOOGLE_JWT_HEADER="4bbede3c0dd64256143522ede29afa214bd277a3"
GOOGLE_PRODUCT_ID="116477413173923135946"
APP_BUNDLE_NAME="com.moonsolution.Easy"
```
## Состав .env back-end
```
# API keys
SMS_AERO_SIGN='cQZrqSpIXgiWuxFDVN9Qr7WK21G'
# Mode
APP_MODE='develop'
PROJECT_NAME='career_guidance'
PROJECT_VERSION='0.0.1'
# Database
DB_HOST=localhost
DB_PORT=5432
DB_NAME=easypro
DB_PASSWORD=easypropassword
DB_USER=easypro
# SALT
SALT_PASSWORD='salt'
SALT_SESSION='session'
# Redis
REDIS_HOST=localhost
REDIS_PORT=6379
DOMAIN_NAME='194.67.111.61'
DOMAIN_PROTOCOL='http://'
IS_RUN_IN_KUBERNETES=false
GOOGLE_JWT_HEADER="4bbede3c0dd64256143522ede29afa214bd277a3"
GOOGLE_PRODUCT_ID="116477413173923135946"
APP_BUNDLE_NAME="com.moonsolution.Easy"
```
## Скрипты
### Admin
#### dev.sh
Запускает основную работу сервера
### prepare.sh
Устанавливает виртуальное окружение
Устанавливает модули из файла зависимости *requirements.txt*
Переносит данные из *dev.env* в *.env*
### Back-end
#### dev.sh
Запускает основную работу сервера
### prepare.sh
Устанавливает виртуальное окружение
Устанавливает модули из файла зависимости *requirements.txt*
Переносит данные из *dev.env* в *.env*
Устанавливает миграции по файлу migrate.py
#### merge.sh
Запускает Merge в гит
#### run_docker.sh
Запускает докер, плюс работает со storage (Вот тут вопрос и мб загвоздка в ошибке)
#### update_storage.sh
Запускает копирование файлов дефолтных. Они нужны для теста и в основном только так и используются
#### filling_for_test.py
Добавляет в БД тестовые данные, плюс создает админа и модератора
#### filling_robo_case.py
Добавляет в БД тестовые данные по кейсам
#### filling_in_k8s.py
????
Замысел не понятен, честно
## Инструкция по запуску
1. Запускаем dev.sh скрипт по пути /home/EasyEducation/backend/
2. Запускаем dev.sh скрипт по пути /home/EasyEducation/admin/
## Инструкция по установке
1. Устанавливаем python
2. Устанавливаем postgres, создаем пользователя с паролем и бд
3. Устанавливаем redis
4. Настраиваем redis по пути /etc/redis/redis.conf
Настройки, что сейчас на сервере, которые отличаются от оригинала:

5. Прописываем в Backend env
6. Прописываем в admin env
7. Переходим в Backend
8. Запускаем prepare.sh
9. Запускам filling_for_test.py
10. Запускаем filling_robo_case.py
11. Запускаем update_storage.sh
12. Запускаем dev.sh
13. Переходим в admin
14. Запускаем prepare.sh
15. Запускаем dev.sh