Витрина аптеки. Pharmacy website
Приложение разработано на Play Scala Framework 2.6.x и Scala 2.12.x. Преставляет собой витрину аптеки (http://pharmrus24.ru).
Для загрузки товаров используется выгрузка из программы М-Аптека+ (Эскейп), выгруженная с помощью приложения phrexp.
В приложении реализованы следующие функции
Для UI используется библиотека scala-js. На текущий момент в состав приложения включено два проекта со scala-js. Они различаются по назначению страниц. Один проект для клиентской части, другой для администрирования
В качестве БД используется mongoDB 3.x
Клиентская библиотека - reactivemongo
Для хранения изображений используется addon для heroku - cloudinary
Для рассылки email сообщений используется sendgrid
В проекте настроена автосборка с помощью travis. Описание находится в файле .travis.yml
Для подсчета покрытия Unit тестами используется codecoverage
Перед запуском необходимо установить и запустить базу данных mongodb. Для этого можно либо установить локально либо запустить через docker.
После этого необходимо проверить параметр в конфигурационном файле /server/conf/application.conf:
mongodb.uri = "mongodb://localhost:27017/shopdb?authMode=scram-sha1"
mongodb.uri = ${?MONGODB_URI}
После того, как БД запущена, можно запускать само приложение. Делается это с помощью sbt.
sbt run
После этого сайт доступен по ссылке http://localhost:9000http://localhost:9000)
Приложение также сконфигурировано для запуска на Heroku.
Оно уже развернуто там и доступно по адресу ФармРус
Для развертывания используется файл Procfile. В нем есть следующая строка, которая говорит об использовании application.prod.conf в качестве конфигурации
web: server/target/universal/stage/bin/server -Dhttp.port=${PORT} -Dconfig.resource=application.prod.conf