Skip to content

Siberianprocontactus/js-fullstack-boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Template

Fullstack template for SPA: express, mongodb, react, redux

Состоит из

  • ./api - REST API
  • ./front - веб SPA-приложение написанное React
  • ./config - конфигурации
  • ./migrations - миграции БД
  • ./test - тесты

зависимости

  • nodejs^8.0 - платформа curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - && sudo apt-get install -y nodejs
  • mongoDB^3.4 - база данных debian 9 не поддерживается sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list && sudo apt-get update && sudo apt-get install -y mongodb-org sudo service mongod start && sudo systemctl enable mongod.service && mongo database
    db.createUser({
     user: 'user',
     pwd: 'password',
     roles: [ 'dbOwner' ]
    });
  • systemd - для демонизации приложения
  • nginx опционально - api включает хостинг front'a

Установка

  • Установить и настроить зависимости
  • Клонировать репозиторий
  • ввести в терминале npm run update - установит все внутренние зависимости, запустит миграции

на продакшне дополнительно:

  • Создать и заполнить config/production.json файл
  • Демонизировать
cp template.service /etc/systemd/system/
systemctl enable template
systemctl start template
systemctl -l status template

запуск

  • продакшн - npm run prod или NODE_ENV=production node .
  • dev - npm start

Конфигурация

Конфиг через библиотеку config. Все конфиг файлы лежат в каталоге ./config. Дефолтная конфигурация в файле ./config/default.json

{
    "app": {
        "name": "Template", - Имя приложения
        "port": 3000, - порт для api и фронта
        "loglevel": "info" - уровень логов
    },
    "mongo": { ... }, - конфиг базы данных
}

CLI

  • npm start - запустить для разработки (включая установку зависимостей)
  • npm run dev - запустить в dev режиме
  • npm run prod - запустить в production режиме
  • npm run update - обновить сборку (полезно на проде)
  • npm run migrate -- my-migration - создать миграцию
  • npm run up - мигрировать на 1 шаг вверх
  • npm run down - мигрировать на 1 шаг вниз
  • npm run build - сбилдить фронт
  • npm test - запустить тесты бекенда

Releases

No releases published

Packages

No packages published