/photometer

Мини-сообщество для фотографов любителей

Primary LanguageJavaScript

photometer

Сборка Build Status

Целью проекта является самообучение в части web-технологий. Построения серверной и клиенской частей, а так же изучения интересного мне языка программирования Rust. Это мой первый проект связанный с web-технологиями, потому многие вещи могут быть реализованы "самобытно".

Photometer - это мини сообщество мотивирующее новичков в фотографии на соверщенствование своего фотографического навыка за счёт периодически устраиваемых фото-событий. Сейчас мы это делаем полностью вручную, и немного автоматики нам не повредит.

back-end (Rust)

Собирается под Ubuntu(linux). Зависим от libssl-dev и libexif-dev. В 64х битной версии Ubuntu libexif собран без флага "-fPIC" из-за чего rust не хочет её линковать. Собрать libexif пригодную для линковки можно при помощи build_libexif_64.sh

Для сборки выполнить cargo build

Для разадчи статики, и как прокси используется nginx, для установки

sudo apt-get install nginx-light

Для запуска на своём компьютере проще использувать скрипт start_nginx.sh, который сгенерирует тестовый конфиг для nginx и запустит его. nginx будет работать с правами текущего пользователя, и использовать директорию проекта для раздачи статики, для этого необходимо перейти в директорию с проектом и в ней выполнить:

./start_nginx.sh

front-end (JS)

Для сборки front-end необходим node.js. npm необходим для установки "компилятора" шаблонов Handlebars

Для Windows достаточно просто установит дистрибутив с сайта node.js npm входит в его состав.

Для установки на Ubuntu, пара команд:

sudo apt-get install nodejs
sudo apt-get install npm

Для сборки шаблонов Handlebars, нужно его предустановить при помощи npm

npm install handlebars -g

В папке tools есть скрипт для полной сборки front-end части под Windows/Ubuntu.

В папке www/template/ есть скрипты для сборки шаблонов Handlebars