Разработка
Для разработки SHM необходимо скачать все файлы из репозитория на свой компьютер.
База данных (БД) для разработчиков уже наполнена некоторыми тестовыми данными. Каждый раз, при запуске SHM в режимие разработки, содержимое БД сбрасывается в значения по-умолчанию.
Установка
Для разработки SHM сделайте следующее:
- Установите на свой компьютер:
git
иdocker
- Создайте отдельную директорию
shm-dev
и перейдите в неё - Скачайте
docker-compose.yml
файл для разработки:wget https://raw.githubusercontent.com/danuk/shm/master/contributing/docker-compose.yml
- Авторизуйтесь (или зарегистрируйтесь) на https://github.com и сделайте Fork для следующих репозиториев (этот шаг можно пропустить, если не планируете делиться вашими наработками):
- Выполните следующие команды для клонирования (загрузки) основных репозиториев (вместо
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.