Разработка

Для разработки SHM необходимо скачать все файлы из репозитория на свой компьютер.

База данных (БД) для разработчиков уже наполнена некоторыми тестовыми данными. Каждый раз, при запуске SHM в режимие разработки, содержимое БД сбрасывается в значения по-умолчанию.

Установка

Для разработки SHM сделайте следующее:

  1. Установите на свой компьютер: git и docker
  2. Создайте отдельную директорию shm-dev и перейдите в неё
  3. Скачайте docker-compose.yml файл для разработки:
    wget https://raw.githubusercontent.com/danuk/shm/master/contributing/docker-compose.yml
    
  4. Авторизуйтесь (или зарегистрируйтесь) на https://github.com и сделайте Fork для следующих репозиториев (этот шаг можно пропустить, если не планируете делиться вашими наработками):
  1. Выполните следующие команды для клонирования (загрузки) основных репозиториев (вместо danuk используйте ваш логин на github, если делали Fork):
  • git clone https://github.com/danuk/shm.git
  • git clone https://github.com/danuk/shm-admin.git
  • git clone https://github.com/danuk/shm-client.git

Сборка

Для сборки контейнеров docker используйте следующую команду:

docker compose build

Запуск и остановка SHM

Запуск и остановка SHM осуществляется из директории shm-dev

Для запуска SHM выполните команду: docker compose up -d

После запуска всех контейнеров Вы можете использовать следующие URL:

  • http://127.0.0.1:8081 - Админский интерфейс SHM. Логин: admin, Пароль: admin
  • http://127.0.0.1:8082 - Интерфейс пользовелей SHM

Для остановки SHM выполните команду: docker compose down

Редактирование файлов (разработка)

Ядро системы, файлы Админки и файлы Кабинета пользователей располагаются в отдельных репозиториях. На шаге “Установка” мы склонировали нужные репозитории. Таким образом:

  • Файлы ядра SHM находятся в: shm-dev/shm
  • Файлы Админки находятся в: shm-dev/shm-admin
  • Файлы Кабинета клиента находятся в: shm-dev/shm-client

Меняя нужные файлы в нужных директориях мы будем видеть соответствующий результат, без перезапуска docker контейнеров.

Например, изменив файл в директории shm-admin можно увидеть результат обновив страницу админки (http://127.0.0.1:8081).

Тестирование

Если Вы внесли изменения в ядро SHM, то обязательно запустите тесты, чтобы убедиться, что не сломан основной функционал:

docker compose exec core bash -c 'prove t/*'

Делитесь Вашими наработками

Если Вы сделали что-то, чем хотели бы поделиться с другими людьми, сделайте коммит Ваших изменений и откройте Pull Request, чтобы внести Ваш код в основные репозитории SHM.

Изменено 27.01.2024: Update develop.md (910c432)