README.md

State manager демо

Демонстрационный пример использования библиотеки State manager.

Перед началом работы с проектом см. раздел Установка зависимостей.

Введение

Для запуска приложения запустите команду: bb run.
После чего можно перейти по ссылкам: http://localhost:3000/ или http://localhost:3000/api/debug

Данное веб-приложение состоит из 3х компонентов:

  • Конфигурации приложения;

  • Базы данных;

  • Веб-сервера.

Контекст формируется в функции build-context и далее прокидывается в приложение через компонент веб-сервера. Последний компонент специально создан в виде функции, а не в виде словаря, чтобы прокинуть контекст внутрь приложения.

Раздел для разработчиков

Цели проекта

Для настройки целей проекта используйте файлы bb.edn и build.clj.

Для вывода списка целей проекта запустите команду bb tasks:

clean        Очистить содержимое папки target
javac        Компиляция Java классов
build        Собрать дистрибутив программы в виде uberjar файла
run          Запуск программы через функцию -main
standalone   Создать самодостаточный пакет: программа + JRE (используя jlink, JDK 9+)
deploy       Опубликовать uberjar файл в публичный репозиторий
release      Сделать выпуск: присвоить тэг выпуска, сделать сборку, опубликовать в репозиторий
repl         Запустить Clojure REPL
format       Форматировать исходный код
lint         Проверить исходный код линтером
requirements Установить зависимости необходимые проекту

Установка зависимостей

Для работы над проектом необходимо однократно выполнить установку зависимостей в среде Alt Linux p10.

Получение прав sudo

Установка разрешения на запуск sudo для текущего пользователя:

SUDO_USER=`whoami`; su -c "echo '$SUDO_USER ALL=(ALL:ALL) ALL' > /etc/sudoers.d/$SUDO_USER"

Установка Babashka

  1. Скачать и распаковать babashka:

    1. Для aarch64

      curl -O https://cdn01.rssys.org/babashka/babashka-1.3.186-linux-aarch64-static.tar.gz
      tar xvf babashka-1.3.186-linux-aarch64-static.tar.gz
      
    2. для amd64/x86_64:

      curl -O https://cdn01.rssys.org/babashka/babashka-1.3.186-linux-amd64-static.tar.gz
      tar xvf babashka-1.3.186-linux-amd64-static.tar.gz
      
  2. Установка babashka:

    sudo mv ./bb /usr/local/bin/
    rm -f bb babashka*
    

Установка JDK

Скрипт установки автоматизирует установку OpenJDK 21 в ОС Alt Linux.

jdk21-install.sh

bb <(curl -s https://cdn01.rssys.org/bin/install-jdk.bb)

Установка bb как утилиты clojure

Скрипт установки автоматизирует установку babashka в качестве утилиты clojure и clj

install-deps.sh

bb <(curl -s https://cdn01.rssys.org/bin/install-clj.bb)

Установка инструмента управления шаблонами

Установка инструмента работы с шаблонами Leiningen/Boot/clj-template deps-new

clojure -Ttools install io.github.seancorfield/deps-new '{:git/tag "v0.5.2"}' :as new

Данный инструмент будет установлен в каталог ~/.gitlibs/libs/

Лицензия

© 2023 mike.

Данный проект распространяется под Открытой лицензией на программное обеспечение РЭД СТАРС СИСТЕМС 1.0
Текст лицензии находится в файле LICENSE или по ссылке.

Описание

Пример использования библиотеки state-manager

Конвейеры
0 успешных
0 с ошибкой