Приложение реализует функционал тестового задания.
- Переход в папку приложения командой cd "...."
- Запуск приложения командой iex -S mix. В случае успешного запуска видим информацию логгера
time [info] Started application - Контролировать содержание таблицы крайне удобно с помощью observer-а. Запуск командой :observer.start вкладка Table Viewer, в меню View выбрать Mnesia Tables.
Отображается таблица kvs. В таблице в качестве ключевого поля используется поле key. - Для проверки добавления информации в таблицу в окне терминала в корневом каталоге используем команду:
curl -X POST -F 'ttl=12' -F 'data=Jazz' http://localhost:8080/abc
В случае успешного выполнения в терминал возвращается сообщение
uploaded for 12 seconds
В первом терминале можно наблюдать сообщения логгера вида:
time [info] Начинаем отсчет ttl секунд
time [info] Отсчет закончен
time [info] Запись по ключу key успешно удалена через ttl секунд
Результат можно проконтролировать в приложении Observer. - Для проверки корректной работы запроса на отображение информации используем команду
curl -X GET http://localhost:8080/abc - Изменить существующую запись можно во втором терминале командой вида
curl -X PUT -F 'data=jazz' -F 'ttl=7' http://localhost:8080/abc
Можно изменять произвольное количество столбцов на выбор пользователя за одну команду, столбец key - ключевой столбец остается неизменным. Результат можно проконтролировать в приложении Observer. - Применение во втором терминале команды вида
curl -X DELETE http://localhost:8080/abc
приведет к немедленному удалению записи. В случае успешного выполнения в терминал возвращается сообщение:
delete complete
Результат можно проконтролировать в приложении Observer. - Возможна работа с приложением без использования веб-сервера с помощью функций:
D_apl.zapros(key)
D_apl.create_mnesia - используется для формирования схемы БД.(в репозитории схема уже есть) D_apl.start_database
D_apl.add_to_database
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/serv.