ajile / eurochem

Eurochem test task

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EuroChem тестовое задание

Установка

Клонируем проект к себе командой git clone git@github.com:ajile/eurochem.git, далее переходим в созданную директорию cd eurochem и устанавливаем зависимости npm install, если приложение устанавливается не для разработки, тогда необходимо добавить соотв. флаг npm install --production для исключения установки зависимостей devDependencies.

Конфигурирование

Файлы-настроек разделены по окружениям, находятся в директории configs/. По умолчанию используется окружение development и соотв. файл configs/development.json.

Запуск

Сервер запускается командой ./server/bin/www. Если Вы хотите изменить окружение, можно сделать так ./server/bin/www --settings=production или так NODE_ENV=production ./server/bin/www. По умолчанию при запуске проекта на тестовом сервере или продакшне нужно установить переменную окружения NODE_ENV в значение test или production. Подробнее об этом в разделе "Деплоймент". Для того чтобы поднять сервер для отладки, можно запустить приложение с автоматическим перезапуском в случае изменения файлов: DEBUG=eurochem-server,routes:* nodemon "./server/bin/www". Также можно воспользоваться командой gulp develop, которая еще следит за изменениями файлов. Подробнее о ней в разделе "Команды".

Команды

Проект использует gulp. Файл конфигурации команд располагается здесь gulp/config.js. Каждая команда находится в отдельном файле в директории gulp/tasks. Идея такого подхода заимствована из проекта gulp-starter.

gulp develop

Для запуска проекта в режиме отладки. Сначала проверяет качество кода, билдит файлы, запускает сервер и следит за изменениями в коде. Клиентский код пропускается через команду gulp browserify, серверный через перезапуск сервера gulp nodemon.

gulp lint

Проверка качества серверного и клиентского js кода (lint_server и lint_client).

gulp deploy

Сборка и выкладка документации. Команда инициирует сборку документации (gulp build_docs) и выкладывает (spread_docs) в специальную ветку репозитория gh-pages, таким образом документация становится доступной по адресу http://ajile.github.io/eurochem/.

Деплоймент

Раздел в работе.

Рекомендации

Для более качественного структурирования проектов, удобства и гибкости нужно серверную, клиентскую и общую части разнести по репозиториям (eurochem-server, eurochem-client и eurochem-core соотв.) с указанием зависимостей между ними. Снабдить каждый проект своими тестами, своей документацией и своими задачами. На настоящий момент все 3 части приложения представлены одним репозиторием, так сделано для повышения скорости выполнения задачи вопреки парадигмам маштабируемости и сингулярности.

About

Eurochem test task


Languages

Language:JavaScript 88.0%Language:CSS 12.0%