IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Добавить ответ в эту темуОткрыть тему
Внешнее расширение функционала Frontol Discount Unit, React-приложение расширяющее функции панели управления
FSerg
сообщение 11.3.2019, 12:27
Сообщение #1


Завсегдатай
***

Группа: Партнеры
Сообщений: 211
Регистрация: 27.12.2004
Пользователь №: 14



Запустили недавно у клиентов простую бонусную систему на базе Frontol Discount Unit. Сеть торговых точек стала активно ее использовать и стало понятно, что необходим хоть какой-то функционал анализа.
Самое первое что хочется увидеть, какими картами активнее всего пользуются. Это условно позволяет обнаружит злоупотребления.
И вроде бы в документации на API мы видим метод для получения списка карт: GET /client (он возвращает довольно подробный список карт). Но в этих даных есть только текущий баланс бонусов, а нам бы хотелось знать количество операций, сумму продаж и т.п.
Получается что определенные данные мы можем получить только напрямую из базы данных PostgreSQL, в которой FDU хранит данные.
При этом совсем не хочется базу данных выставлять наружу.
Так как у нас FDU-сервер запущен в обычной арендованной виртуалке на Linux, то так и просится запустить на ней же локально еще что-то, что позволит работать с БД напрямую. Ну и должен признаться, что просто нравится современная frontend-разработка, после 1С - это новый дивный мир! smile.gif
Это была предыстория, чтобы было понятно, зачем smile.gif

Получилось небольшое React-приложение соответственно с небольшим бекендом на NodeJS, который ходит за данными напрямую в PostgreSQL.
Пока сделал три раздела, дальше буду смотреть, что будет заказчик спрашивать.
- Рейтинг карт - подробный список карт упорядоченный по сумме оборотов по карте
Прикрепленный файл  0_001.png ( 48.19 килобайт ) Кол-во скачиваний: 77


- Журнал чеков - позволяет посмотреть продажи по картам с отбором по периоду и по торговым точкам
Прикрепленный файл  0_002.png ( 44.7 килобайт ) Кол-во скачиваний: 55


- Статистика - общая статистика по заполненности информации о клиентах. А также графики продаж, график списания и начисления бонусов и рейтинг торговых точек по суммам продаж.
Прикрепленный файл  0_003.png ( 64.77 килобайт ) Кол-во скачиваний: 45
Прикрепленный файл  0_004.png ( 127.81 килобайт ) Кол-во скачиваний: 48


Исходники на github: fdu_reports

Инструкция по установке и запуску для Linux
(предполагается, что FDU-сервер запущен на Ubuntu 16.04 LTS (для 18.04, я уверен, так же отработает))
Код
// ### Устанавливаем Docker
// Update the apt package index:
sudo apt-get update

// Install packages to allow apt to use a repository over HTTPS:
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common

// Add Docker’s official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

// Use the following command to set up the stable repository.
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
\$(lsb_release -cs) \
stable"

// Update the apt package index.
sudo apt-get update

// Install the latest version of Docker CE and containerd
sudo apt-get install docker-ce docker-ce-cli containerd.io


// ### Устанавливаем Docker-compose
// Run this command to download the latest version of Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-\$(uname -m)" -o /usr/local/bin/docker-compose

// Apply executable permissions to the binary:
sudo chmod +x /usr/local/bin/docker-compose

// Test the installation.
docker-compose --version

// Создаем на хосте файл `docker-compose.yml`

version: '2'

services:
  fdu_reports:
    image: fserg/fdu_reports
    container_name: fdu_reports
    expose:
      - "5001"
    network_mode: host
    environment:
      - NODE_ENV=production
      - PORT=5001
      - PG_URI=postgresql://dbuser:dbpass@127.0.0.1:5432/dbname
      - FDU_URL=https://you.host.ru
      - REACT_APP_FDU_URL=https://you.host.ru
      - VIRTUAL_PORT=5001
      - TZ=Europe/Moscow
    restart: always

// Меняете dbuser, dbpass, dbname, https://you.host.ru на свои данные.
// И запускаете контейнер (сервис) командой:
sudo docker-compose up -d

// Модуль будет доступен по этой ссылке: http://you.host.ru:5001


Запуск под Windows
Теоретические это возможно. NodeJS же можно запустить под Windows, библиотека pg, что используется для работы с PostgreSQL тоже поддерживает windows.
Но вообще для меня странно, что FDU запускают под Windows. Ведь эту систему покупают для распределенной сети торговых точек, самый простой и надежный способ обеспечить постоянную доступность дисконт-сервера - это арендовать отдельную виртуалку.
Неужали все со своих торговых точек настраивают VPN доступ на свой внутренний Windows-сервер?


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
FSerg
сообщение 11.3.2019, 15:14
Сообщение #2


Завсегдатай
***

Группа: Партнеры
Сообщений: 211
Регистрация: 27.12.2004
Пользователь №: 14



Сейчас подумал, что можно было бы это все обернуть в виде Electron приложения, тогда было бы кросплатформенно.
Но тогда нужуно или базу данных наружу выставлять, что не очень безопасно или ssh тунель делать, но этим тоже никто не зохочет заморчиваться.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
АТОЛ: Скачков Ва...
сообщение 11.3.2019, 18:35
Сообщение #3


Начинающий
*

Группа: Тех. поддержка
Сообщений: 75
Регистрация: 21.9.2018
Из: Грозный
Пользователь №: 188 495



Цитата(FSerg @ 11.3.2019, 15:14) *
Сейчас подумал, что можно было бы это все обернуть в виде Electron приложения, тогда было бы кросплатформенно.
Но тогда нужуно или базу данных наружу выставлять, что не очень безопасно или ssh тунель делать, но этим тоже никто не зохочет заморчиваться.

Это круть.

Респект goodpost.gif goodpost.gif goodpost.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
АТОЛ: Царюков Ро...
сообщение 14.3.2019, 11:47
Сообщение #4


Тех.поддержка
********

Группа: Администраторы
Сообщений: 49 919
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717



а можно еще PowerBI подключить к этому делу

Прикрепленный файл  2019_03_14_0084.png ( 60.78 килобайт ) Кол-во скачиваний: 80


--------------------

ответы на 90% вопросов находятся в ДОКУМЕНТАЦИИ
еще 9% ответов ТУТ
P.S.: уважайте труд наших писателей - читайте мануалы
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
FSerg
сообщение 18.3.2019, 19:09
Сообщение #5


Завсегдатай
***

Группа: Партнеры
Сообщений: 211
Регистрация: 27.12.2004
Пользователь №: 14



У заказчиков есть переживания/сомнения по поводу честности использования бонусных карт. Можно допустить, что возможна ситуация, когда продавец/кассир отложил одну и карт и постоянно использует ее для начисления бонусов, а затем использует оплату бонусами для своих нужд.
И я не придумал ничего кроме как следующей наивной идеи:
Если картой пользуются очень часто, буквально чуть ли не каждый день, а еще хуже, если картой пользуются чаще чем один раз в день, то это выглядит подозрительно smile.gif
Добавил еще один отчет, который выводит список карт, упорядоченный по частоте операций за период по дням и подсчитывает потенциально подозрительные дни.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
АТОЛ: Царюков Ро...
сообщение 18.3.2019, 19:12
Сообщение #6


Тех.поддержка
********

Группа: Администраторы
Сообщений: 49 919
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717



Слово "подозрительно" поправьте


--------------------

ответы на 90% вопросов находятся в ДОКУМЕНТАЦИИ
еще 9% ответов ТУТ
P.S.: уважайте труд наших писателей - читайте мануалы
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
FSerg
сообщение 18.3.2019, 20:03
Сообщение #7


Завсегдатай
***

Группа: Партнеры
Сообщений: 211
Регистрация: 27.12.2004
Пользователь №: 14



Цитата(АТОЛ: Царюков Роман @ 18.3.2019, 19:12) *
Слово "подозрительно" поправьте

Спасибо, поправил. Не нравится слово, но лучше ничего не придумал )


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Чурадаев
сообщение 19.3.2019, 9:15
Сообщение #8


Начинающий
*

Группа: Пользователи
Сообщений: 75
Регистрация: 3.7.2018
Пользователь №: 171 022



Цитата(FSerg @ 18.3.2019, 20:03) *
Спасибо, поправил. Не нравится слово, но лучше ничего не придумал )

Вот как создаешь тему с критичной ошибкой, так там не отвечают по несколько дней, а тут вам даже слово поправили, видимо вам просто разработчики завидуют, которые не могут подобный функционал уже больше года сделать.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Алексей Насонов
сообщение 3.4.2019, 11:22
Сообщение #9


Начинающий
*

Группа: Пользователи
Сообщений: 70
Регистрация: 16.5.2017
Пользователь №: 140 620



Цитата(FSerg @ 19.3.2019, 0:03) *
Спасибо, поправил. Не нравится слово, но лучше ничего не придумал )


Со словом все нормально, так же буквы Е не хватало просто
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
FSerg
сообщение 10.5.2019, 16:24
Сообщение #10


Завсегдатай
***

Группа: Партнеры
Сообщений: 211
Регистрация: 27.12.2004
Пользователь №: 14



Оказалось, что проект без особых проблем запускается под windows.
@Даник дал мне доступ к Win Server 2008 c поднятым FDU, postgres и демо-базой.

Далее выполняем следующий шаги:
1. Скачиваем с оф.сайтов nodejs и yarn. 
На момент написания инструкции это были node-v10.15.3-x64 и yarn-1.15.2. Устаналивал все по умолчанию, просто нажимая Далее. Переменные PATH прописывает все сам мастер установки.
2. Скачиваем исходники проекта, можно архивом https://github.com/FSerg/fdu_reports/archive/master.zip. Для простоты пусть это будет в корне диска: C:\fdureports
3. Открываем консоль cmd и выполняем установку пакетов в двух папках:
делаем: yarn install в C:\fdureports и в C:\fdureports\client
4. Теперь пропишем параметры подключения к БД.
создаем файл C:\fdureports\src\config\dev.js с таким содержимым (для демо-сервера):
Код
module.exports = {
  port: 5001,
  pgURI: 'postgresql://postgres:postgres@127.0.0.1:5432/discount',
  resultsCounts: 100,
  fduURL: 'https://localhost'
};

5. Затем выполняем сборку проекта, так же в двух папках:
делаем: yarn build в C:\fdureports и в C:\fdureports\client
6. Теперь можно проверить работу проекта:
в C:\fdureports выполним yarn start

Открываем в браузере http://localhost:5001 
для демо-базы авторизация: имя admin, пароль moo

Если все ок, то можно теперь настроить автоматический запуск проекта как службы.
Самый распространенный способ запуска приложений как службы, через утилиту nssm (http://nssm.cc/release/nssm-2.24.zip).
Выполняем
nssm install fdureports "C:\Program Files\nodejs\node.exe"
Затем
nssm edit fdureports
Нас интересует только три параметра на первой закладке:
Path: C:\Program Files\nodejs\node.exe
Startup directory: C:\fdureports
Arguments: build\index.js
Все. Можно перезапустить ПК и проверить, что после перезапуска все поднялось автоматически.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
SerViceDie
сообщение 3.9.2020, 14:36
Сообщение #11


Начинающий
*

Группа: Пользователи
Сообщений: 51
Регистрация: 17.11.2009
Пользователь №: 18 928



Цитата(FSerg @ 10.5.2019, 17:24) *
Оказалось, что проект без особых проблем запускается под windows.
....


Добрый день. А через Docker под Windows должно тоже работать? Не пробовали случайно? smile.gif
У меня вроде всё стартует, к базе Postgre тоже вроде цепляется, но страница в браузере (localhost:5001) не открывается sad.gif
В Докере я пока только пытаюсь разобраться, есть логи запуска:

CODE
# Set environment values if they exist as arguments

if [ $# -ne 0 ]; then

echo "===> Overriding env params with args ..."

for var in "$@"

do

export "$var"

done

fi

+ '[' 0 -ne 0 ']'


echo "===> ENV Variables ..."

+ echo '===> ENV Variables ...'

env | sort

===> ENV Variables ...

+ env

+ sort

FDU_URL=https://localhost

HOME=/root

HOSTNAME=docker-desktop

NODE_ENV=production

NODE_VERSION=9.4.0

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PG_URI=postgresql://postgres:postgres@192.168.89.2:5432/discount



PORT=5001

PWD=/usr/src/app

REACT_APP_FDU_URL=https://localhost

SHLVL=1

TZ=Europe/Moscow

VIRTUAL_PORT=5001

YARN_VERSION=1.3.2

_=/usr/bin/env


echo "===> User"

+ echo '===> User'

id

+ id



===> User

uid=0(root) gid=0(root) groups=0(root)


echo "===> Building ..."

+ echo '===> Building ...'

cd client && \

yarn build && \

cd .. &&\

\

yarn build

+ cd client

+ yarn build

===> Building ...

yarn run v1.3.2

$ react-scripts build

Creating an optimized production build...

Compiled with warnings.


./src/components/modal/ModalConfirmation.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/modal/ModalNotification.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/navbar/NavigationBar.js

Line 5: 'Button' is defined but never used no-unused-vars


Search for the keywords to learn more about each warning.

To ignore, add // eslint-disable-next-line to the line before.


File sizes after gzip:


302.09 KB build/static/js/main.689a7797.js

100.62 KB build/static/css/main.40fe9cf2.css


The project was built assuming it is hosted at the server root.

You can control this with the homepage field in your package.json.

For example, add this to build it for GitHub Pages:


"homepage" : "http://myname.github.io/myapp",


The build folder is ready to be deployed.

You may serve it with a static server:


yarn global add serve

serve -s build


Find out more about deployment here:


http://bit.ly/2vY88Kr


Done in 31.84s.

+ cd ..

+ yarn build

yarn run v1.3.2

$ babel src --out-dir ./build

src/config/config.js -> build/config/config.js

src/config/prod.js -> build/config/prod.js

src/index.js -> build/index.js

src/routes/DiscountRoutes.js -> build/routes/DiscountRoutes.js

src/routes/StatsRoutes.js -> build/routes/StatsRoutes.js

src/routes/UsersRoutes.js -> build/routes/UsersRoutes.js

src/routes/Utils.js -> build/routes/Utils.js

src/services/Logging.js -> build/services/Logging.js

src/services/authRequest.js -> build/services/authRequest.js

Done in 0.78s.

===> Running ...


echo "===> Running ... "

+ echo '===> Running ... '

yarn start

+ yarn start

yarn run v1.3.2

$ node ./build/index

Server running (port: 5001)

PG connected

PG connected

events.js:137

throw er; // Unhandled 'error' event

^


Error: Connection terminated unexpectedly

at Connection.con.once (/usr/src/app/node_modules/pg/lib/client.js:200:9)

at Object.onceWrapper (events.js:255:19)

at Connection.emit (events.js:160:13)

at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:130:10)

at Socket.emit (events.js:165:20)

at endReadableNT (_stream_readable.js:1101:12)

at process._tickCallback (internal/process/next_tick.js:152:19)

error Command failed with exit code 1.

info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

You may serve it with a static server:


yarn global add serve

serve -s build


Find out more about deployment here:


http://bit.ly/2vY88Kr


Done in 31.84s.

+ cd ..

+ yarn build

yarn run v1.3.2

$ babel src --out-dir ./build

src/config/config.js -> build/config/config.js

src/config/prod.js -> build/config/prod.js

src/index.js -> build/index.js

src/routes/DiscountRoutes.js -> build/routes/DiscountRoutes.js

src/routes/StatsRoutes.js -> build/routes/StatsRoutes.js

src/routes/UsersRoutes.js -> build/routes/UsersRoutes.js

src/routes/Utils.js -> build/routes/Utils.js

src/services/Logging.js -> build/services/Logging.js

src/services/authRequest.js -> build/services/authRequest.js

Done in 0.78s.

===> Running ...


echo "===> Running ... "

+ echo '===> Running ... '

yarn start

+ yarn start

yarn run v1.3.2

$ node ./build/index

Server running (port: 5001)

PG connected

PG connected

events.js:137

throw er; // Unhandled 'error' event

^


Error: Connection terminated unexpectedly

at Connection.con.once (/usr/src/app/node_modules/pg/lib/client.js:200:9)

at Object.onceWrapper (events.js:255:19)

at Connection.emit (events.js:160:13)

at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:130:10)

at Socket.emit (events.js:165:20)

at endReadableNT (_stream_readable.js:1101:12)

at process._tickCallback (internal/process/next_tick.js:152:19)

error Command failed with exit code 1.

info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

===> ENV Variables ...



# Set environment values if they exist as arguments

if [ $# -ne 0 ]; then

echo "===> Overriding env params with args ..."

for var in "$@"

do

export "$var"

done

fi

+ '[' 0 -ne 0 ']'


echo "===> ENV Variables ..."

+ echo '===> ENV Variables ...'

env | sort

+ env

+ sort

FDU_URL=https://localhost

HOME=/root

HOSTNAME=docker-desktop

NODE_ENV=production

NODE_VERSION=9.4.0

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PG_URI=postgresql://postgres:postgres@192.168.89.2:5432/discount



PORT=5001

PWD=/usr/src/app

REACT_APP_FDU_URL=https://localhost

SHLVL=1

TZ=Europe/Moscow

VIRTUAL_PORT=5001

YARN_VERSION=1.3.2

_=/usr/bin/env


echo "===> User"

+ echo '===> User'

id

+ id



===> User

uid=0(root) gid=0(root) groups=0(root)


echo "===> Building ..."

+ echo '===> Building ...'

cd client && \

yarn build && \

cd .. &&\

\

yarn build

+ cd client

+ yarn build

===> Building ...

yarn run v1.3.2

$ react-scripts build

Creating an optimized production build...

Compiled with warnings.


./src/components/modal/ModalConfirmation.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/modal/ModalNotification.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/navbar/NavigationBar.js

Line 5: 'Button' is defined but never used no-unused-vars


Search for the keywords to learn more about each warning.

To ignore, add // eslint-disable-next-line to the line before.


File sizes after gzip:


302.09 KB build/static/js/main.689a7797.js

100.62 KB build/static/css/main.40fe9cf2.css


The project was built assuming it is hosted at the server root.

You can control this with the homepage field in your package.json.

For example, add this to build it for GitHub Pages:


"homepage" : "http://myname.github.io/myapp",


The build folder is ready to be deployed.

You may serve it with a static server:


yarn global add serve

serve -s build


Find out more about deployment here:


http://bit.ly/2vY88Kr


Done in 31.62s.

+ cd ..

+ yarn build

yarn run v1.3.2

$ babel src --out-dir ./build

src/config/config.js -> build/config/config.js

src/config/prod.js -> build/config/prod.js

src/index.js -> build/index.js

src/routes/DiscountRoutes.js -> build/routes/DiscountRoutes.js

src/routes/StatsRoutes.js -> build/routes/StatsRoutes.js

src/routes/UsersRoutes.js -> build/routes/UsersRoutes.js

src/routes/Utils.js -> build/routes/Utils.js

src/services/Logging.js -> build/services/Logging.js

src/services/authRequest.js -> build/services/authRequest.js

Done in 0.80s.

===> Running ...


echo "===> Running ... "

+ echo '===> Running ... '

yarn start

+ yarn start

yarn run v1.3.2

$ node ./build/index

Server running (port: 5001)

PG connected

PG connected

events.js:137

throw er; // Unhandled 'error' event

^


Error: Connection terminated unexpectedly

at Connection.con.once (/usr/src/app/node_modules/pg/lib/client.js:200:9)

at Object.onceWrapper (events.js:255:19)

at Connection.emit (events.js:160:13)

at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:130:10)

at Socket.emit (events.js:165:20)

at endReadableNT (_stream_readable.js:1101:12)

at process._tickCallback (internal/process/next_tick.js:152:19)

error Command failed with exit code 1.

info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

You may serve it with a static server:


yarn global add serve

serve -s build


Find out more about deployment here:


http://bit.ly/2vY88Kr


Done in 31.62s.

+ cd ..

+ yarn build

yarn run v1.3.2

$ babel src --out-dir ./build

src/config/config.js -> build/config/config.js

src/config/prod.js -> build/config/prod.js

src/index.js -> build/index.js

src/routes/DiscountRoutes.js -> build/routes/DiscountRoutes.js

src/routes/StatsRoutes.js -> build/routes/StatsRoutes.js

src/routes/UsersRoutes.js -> build/routes/UsersRoutes.js

src/routes/Utils.js -> build/routes/Utils.js

src/services/Logging.js -> build/services/Logging.js

src/services/authRequest.js -> build/services/authRequest.js

Done in 0.80s.

===> Running ...


echo "===> Running ... "

+ echo '===> Running ... '

yarn start

+ yarn start

yarn run v1.3.2

$ node ./build/index

Server running (port: 5001)

PG connected

PG connected

events.js:137

throw er; // Unhandled 'error' event

^


Error: Connection terminated unexpectedly

at Connection.con.once (/usr/src/app/node_modules/pg/lib/client.js:200:9)

at Object.onceWrapper (events.js:255:19)

at Connection.emit (events.js:160:13)

at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:130:10)

at Socket.emit (events.js:165:20)

at endReadableNT (_stream_readable.js:1101:12)

at process._tickCallback (internal/process/next_tick.js:152:19)

error Command failed with exit code 1.

info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

===> ENV Variables ...



# Set environment values if they exist as arguments

if [ $# -ne 0 ]; then

echo "===> Overriding env params with args ..."

for var in "$@"

do

export "$var"

done

fi

+ '[' 0 -ne 0 ']'


echo "===> ENV Variables ..."

+ echo '===> ENV Variables ...'

env | sort

+ env

+ sort

FDU_URL=https://localhost

HOME=/root

HOSTNAME=docker-desktop

NODE_ENV=production

NODE_VERSION=9.4.0

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PG_URI=postgresql://postgres:postgres@192.168.89.2:5432/discount



PORT=5001

PWD=/usr/src/app

REACT_APP_FDU_URL=https://localhost

SHLVL=1

TZ=Europe/Moscow

VIRTUAL_PORT=5001

YARN_VERSION=1.3.2

_=/usr/bin/env


echo "===> User"

+ echo '===> User'

id

+ id



===> User

uid=0(root) gid=0(root) groups=0(root)

===> Building ...


echo "===> Building ..."

+ echo '===> Building ...'

cd client && \

yarn build && \

cd .. &&\

\

yarn build

+ cd client

+ yarn build

yarn run v1.3.2

$ react-scripts build

Creating an optimized production build...

Compiled with warnings.


./src/components/modal/ModalConfirmation.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/modal/ModalNotification.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/navbar/NavigationBar.js

Line 5: 'Button' is defined but never used no-unused-vars


Search for the keywords to learn more about each warning.

To ignore, add // eslint-disable-next-line to the line before.


File sizes after gzip:


302.09 KB build/static/js/main.689a7797.js

100.62 KB build/static/css/main.40fe9cf2.css


The project was built assuming it is hosted at the server root.

You can control this with the homepage field in your package.json.

For example, add this to build it for GitHub Pages:


"homepage" : "http://myname.github.io/myapp",


The build folder is ready to be deployed.

You may serve it with a static server:


yarn global add serve

serve -s build


Find out more about deployment here:


http://bit.ly/2vY88Kr


Done in 31.88s.

+ cd ..

+ yarn build

yarn run v1.3.2

$ babel src --out-dir ./build

src/config/config.js -> build/config/config.js

src/config/prod.js -> build/config/prod.js

src/index.js -> build/index.js

src/routes/DiscountRoutes.js -> build/routes/DiscountRoutes.js

src/routes/StatsRoutes.js -> build/routes/StatsRoutes.js

src/routes/UsersRoutes.js -> build/routes/UsersRoutes.js

src/routes/Utils.js -> build/routes/Utils.js

src/services/Logging.js -> build/services/Logging.js

src/services/authRequest.js -> build/services/authRequest.js

Done in 0.74s.


echo "===> Running ... "

+ echo '===> Running ... '

yarn start

+ yarn start

===> Running ...

yarn run v1.3.2

$ node ./build/index

Server running (port: 5001)

PG connected

PG connected


Если пнёте в направлении ошибки, буду очень благодарен

Сообщение отредактировал SerViceDie - 3.9.2020, 14:39
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
FSerg
сообщение 3.9.2020, 14:52
Сообщение #12


Завсегдатай
***

Группа: Партнеры
Сообщений: 211
Регистрация: 27.12.2004
Пользователь №: 14



Цитата(SerViceDie @ 3.9.2020, 14:36) *
Добрый день. А через Docker под Windows должно тоже работать? Не пробовали случайно? smile.gif
У меня вроде всё стартует, к базе Postgre тоже вроде цепляется, но страница в браузере (localhost:5001) не открывается sad.gif
В Докере я пока только пытаюсь разобраться, есть логи запуска:

CODE
# Set environment values if they exist as arguments

if [ $# -ne 0 ]; then

echo "===> Overriding env params with args ..."

for var in "$@"

do

export "$var"

done

fi

+ '[' 0 -ne 0 ']'


echo "===> ENV Variables ..."

+ echo '===> ENV Variables ...'

env | sort

===> ENV Variables ...

+ env

+ sort

FDU_URL=https://localhost

HOME=/root

HOSTNAME=docker-desktop

NODE_ENV=production

NODE_VERSION=9.4.0

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PG_URI=postgresql://postgres:postgres@192.168.89.2:5432/discount



PORT=5001

PWD=/usr/src/app

REACT_APP_FDU_URL=https://localhost

SHLVL=1

TZ=Europe/Moscow

VIRTUAL_PORT=5001

YARN_VERSION=1.3.2

_=/usr/bin/env


echo "===> User"

+ echo '===> User'

id

+ id



===> User

uid=0(root) gid=0(root) groups=0(root)


echo "===> Building ..."

+ echo '===> Building ...'

cd client && \

yarn build && \

cd .. &&\

\

yarn build

+ cd client

+ yarn build

===> Building ...

yarn run v1.3.2

$ react-scripts build

Creating an optimized production build...

Compiled with warnings.


./src/components/modal/ModalConfirmation.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/modal/ModalNotification.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/navbar/NavigationBar.js

Line 5: 'Button' is defined but never used no-unused-vars


Search for the keywords to learn more about each warning.

To ignore, add // eslint-disable-next-line to the line before.


File sizes after gzip:


302.09 KB build/static/js/main.689a7797.js

100.62 KB build/static/css/main.40fe9cf2.css


The project was built assuming it is hosted at the server root.

You can control this with the homepage field in your package.json.

For example, add this to build it for GitHub Pages:


"homepage" : "http://myname.github.io/myapp",


The build folder is ready to be deployed.

You may serve it with a static server:


yarn global add serve

serve -s build


Find out more about deployment here:


http://bit.ly/2vY88Kr


Done in 31.84s.

+ cd ..

+ yarn build

yarn run v1.3.2

$ babel src --out-dir ./build

src/config/config.js -> build/config/config.js

src/config/prod.js -> build/config/prod.js

src/index.js -> build/index.js

src/routes/DiscountRoutes.js -> build/routes/DiscountRoutes.js

src/routes/StatsRoutes.js -> build/routes/StatsRoutes.js

src/routes/UsersRoutes.js -> build/routes/UsersRoutes.js

src/routes/Utils.js -> build/routes/Utils.js

src/services/Logging.js -> build/services/Logging.js

src/services/authRequest.js -> build/services/authRequest.js

Done in 0.78s.

===> Running ...


echo "===> Running ... "

+ echo '===> Running ... '

yarn start

+ yarn start

yarn run v1.3.2

$ node ./build/index

Server running (port: 5001)

PG connected

PG connected

events.js:137

throw er; // Unhandled 'error' event

^


Error: Connection terminated unexpectedly

at Connection.con.once (/usr/src/app/node_modules/pg/lib/client.js:200:9)

at Object.onceWrapper (events.js:255:19)

at Connection.emit (events.js:160:13)

at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:130:10)

at Socket.emit (events.js:165:20)

at endReadableNT (_stream_readable.js:1101:12)

at process._tickCallback (internal/process/next_tick.js:152:19)

error Command failed with exit code 1.

info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

You may serve it with a static server:


yarn global add serve

serve -s build


Find out more about deployment here:


http://bit.ly/2vY88Kr


Done in 31.84s.

+ cd ..

+ yarn build

yarn run v1.3.2

$ babel src --out-dir ./build

src/config/config.js -> build/config/config.js

src/config/prod.js -> build/config/prod.js

src/index.js -> build/index.js

src/routes/DiscountRoutes.js -> build/routes/DiscountRoutes.js

src/routes/StatsRoutes.js -> build/routes/StatsRoutes.js

src/routes/UsersRoutes.js -> build/routes/UsersRoutes.js

src/routes/Utils.js -> build/routes/Utils.js

src/services/Logging.js -> build/services/Logging.js

src/services/authRequest.js -> build/services/authRequest.js

Done in 0.78s.

===> Running ...


echo "===> Running ... "

+ echo '===> Running ... '

yarn start

+ yarn start

yarn run v1.3.2

$ node ./build/index

Server running (port: 5001)

PG connected

PG connected

events.js:137

throw er; // Unhandled 'error' event

^


Error: Connection terminated unexpectedly

at Connection.con.once (/usr/src/app/node_modules/pg/lib/client.js:200:9)

at Object.onceWrapper (events.js:255:19)

at Connection.emit (events.js:160:13)

at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:130:10)

at Socket.emit (events.js:165:20)

at endReadableNT (_stream_readable.js:1101:12)

at process._tickCallback (internal/process/next_tick.js:152:19)

error Command failed with exit code 1.

info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

===> ENV Variables ...



# Set environment values if they exist as arguments

if [ $# -ne 0 ]; then

echo "===> Overriding env params with args ..."

for var in "$@"

do

export "$var"

done

fi

+ '[' 0 -ne 0 ']'


echo "===> ENV Variables ..."

+ echo '===> ENV Variables ...'

env | sort

+ env

+ sort

FDU_URL=https://localhost

HOME=/root

HOSTNAME=docker-desktop

NODE_ENV=production

NODE_VERSION=9.4.0

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PG_URI=postgresql://postgres:postgres@192.168.89.2:5432/discount



PORT=5001

PWD=/usr/src/app

REACT_APP_FDU_URL=https://localhost

SHLVL=1

TZ=Europe/Moscow

VIRTUAL_PORT=5001

YARN_VERSION=1.3.2

_=/usr/bin/env


echo "===> User"

+ echo '===> User'

id

+ id



===> User

uid=0(root) gid=0(root) groups=0(root)


echo "===> Building ..."

+ echo '===> Building ...'

cd client && \

yarn build && \

cd .. &&\

\

yarn build

+ cd client

+ yarn build

===> Building ...

yarn run v1.3.2

$ react-scripts build

Creating an optimized production build...

Compiled with warnings.


./src/components/modal/ModalConfirmation.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/modal/ModalNotification.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/navbar/NavigationBar.js

Line 5: 'Button' is defined but never used no-unused-vars


Search for the keywords to learn more about each warning.

To ignore, add // eslint-disable-next-line to the line before.


File sizes after gzip:


302.09 KB build/static/js/main.689a7797.js

100.62 KB build/static/css/main.40fe9cf2.css


The project was built assuming it is hosted at the server root.

You can control this with the homepage field in your package.json.

For example, add this to build it for GitHub Pages:


"homepage" : "http://myname.github.io/myapp",


The build folder is ready to be deployed.

You may serve it with a static server:


yarn global add serve

serve -s build


Find out more about deployment here:


http://bit.ly/2vY88Kr


Done in 31.62s.

+ cd ..

+ yarn build

yarn run v1.3.2

$ babel src --out-dir ./build

src/config/config.js -> build/config/config.js

src/config/prod.js -> build/config/prod.js

src/index.js -> build/index.js

src/routes/DiscountRoutes.js -> build/routes/DiscountRoutes.js

src/routes/StatsRoutes.js -> build/routes/StatsRoutes.js

src/routes/UsersRoutes.js -> build/routes/UsersRoutes.js

src/routes/Utils.js -> build/routes/Utils.js

src/services/Logging.js -> build/services/Logging.js

src/services/authRequest.js -> build/services/authRequest.js

Done in 0.80s.

===> Running ...


echo "===> Running ... "

+ echo '===> Running ... '

yarn start

+ yarn start

yarn run v1.3.2

$ node ./build/index

Server running (port: 5001)

PG connected

PG connected

events.js:137

throw er; // Unhandled 'error' event

^


Error: Connection terminated unexpectedly

at Connection.con.once (/usr/src/app/node_modules/pg/lib/client.js:200:9)

at Object.onceWrapper (events.js:255:19)

at Connection.emit (events.js:160:13)

at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:130:10)

at Socket.emit (events.js:165:20)

at endReadableNT (_stream_readable.js:1101:12)

at process._tickCallback (internal/process/next_tick.js:152:19)

error Command failed with exit code 1.

info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

You may serve it with a static server:


yarn global add serve

serve -s build


Find out more about deployment here:


http://bit.ly/2vY88Kr


Done in 31.62s.

+ cd ..

+ yarn build

yarn run v1.3.2

$ babel src --out-dir ./build

src/config/config.js -> build/config/config.js

src/config/prod.js -> build/config/prod.js

src/index.js -> build/index.js

src/routes/DiscountRoutes.js -> build/routes/DiscountRoutes.js

src/routes/StatsRoutes.js -> build/routes/StatsRoutes.js

src/routes/UsersRoutes.js -> build/routes/UsersRoutes.js

src/routes/Utils.js -> build/routes/Utils.js

src/services/Logging.js -> build/services/Logging.js

src/services/authRequest.js -> build/services/authRequest.js

Done in 0.80s.

===> Running ...


echo "===> Running ... "

+ echo '===> Running ... '

yarn start

+ yarn start

yarn run v1.3.2

$ node ./build/index

Server running (port: 5001)

PG connected

PG connected

events.js:137

throw er; // Unhandled 'error' event

^


Error: Connection terminated unexpectedly

at Connection.con.once (/usr/src/app/node_modules/pg/lib/client.js:200:9)

at Object.onceWrapper (events.js:255:19)

at Connection.emit (events.js:160:13)

at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:130:10)

at Socket.emit (events.js:165:20)

at endReadableNT (_stream_readable.js:1101:12)

at process._tickCallback (internal/process/next_tick.js:152:19)

error Command failed with exit code 1.

info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

===> ENV Variables ...



# Set environment values if they exist as arguments

if [ $# -ne 0 ]; then

echo "===> Overriding env params with args ..."

for var in "$@"

do

export "$var"

done

fi

+ '[' 0 -ne 0 ']'


echo "===> ENV Variables ..."

+ echo '===> ENV Variables ...'

env | sort

+ env

+ sort

FDU_URL=https://localhost

HOME=/root

HOSTNAME=docker-desktop

NODE_ENV=production

NODE_VERSION=9.4.0

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PG_URI=postgresql://postgres:postgres@192.168.89.2:5432/discount



PORT=5001

PWD=/usr/src/app

REACT_APP_FDU_URL=https://localhost

SHLVL=1

TZ=Europe/Moscow

VIRTUAL_PORT=5001

YARN_VERSION=1.3.2

_=/usr/bin/env


echo "===> User"

+ echo '===> User'

id

+ id



===> User

uid=0(root) gid=0(root) groups=0(root)

===> Building ...


echo "===> Building ..."

+ echo '===> Building ...'

cd client && \

yarn build && \

cd .. &&\

\

yarn build

+ cd client

+ yarn build

yarn run v1.3.2

$ react-scripts build

Creating an optimized production build...

Compiled with warnings.


./src/components/modal/ModalConfirmation.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/modal/ModalNotification.js

Line 2: 'PropTypes' is defined but never used no-unused-vars


./src/components/navbar/NavigationBar.js

Line 5: 'Button' is defined but never used no-unused-vars


Search for the keywords to learn more about each warning.

To ignore, add // eslint-disable-next-line to the line before.


File sizes after gzip:


302.09 KB build/static/js/main.689a7797.js

100.62 KB build/static/css/main.40fe9cf2.css


The project was built assuming it is hosted at the server root.

You can control this with the homepage field in your package.json.

For example, add this to build it for GitHub Pages:


"homepage" : "http://myname.github.io/myapp",


The build folder is ready to be deployed.

You may serve it with a static server:


yarn global add serve

serve -s build


Find out more about deployment here:


http://bit.ly/2vY88Kr


Done in 31.88s.

+ cd ..

+ yarn build

yarn run v1.3.2

$ babel src --out-dir ./build

src/config/config.js -> build/config/config.js

src/config/prod.js -> build/config/prod.js

src/index.js -> build/index.js

src/routes/DiscountRoutes.js -> build/routes/DiscountRoutes.js

src/routes/StatsRoutes.js -> build/routes/StatsRoutes.js

src/routes/UsersRoutes.js -> build/routes/UsersRoutes.js

src/routes/Utils.js -> build/routes/Utils.js

src/services/Logging.js -> build/services/Logging.js

src/services/authRequest.js -> build/services/authRequest.js

Done in 0.74s.


echo "===> Running ... "

+ echo '===> Running ... '

yarn start

+ yarn start

===> Running ...

yarn run v1.3.2

$ node ./build/index

Server running (port: 5001)

PG connected

PG connected


Если пнёте в направлении ошибки, буду очень благодарен


Без Докера на Windows пробовал - работало.
А как докер в Windows к переменным окружения относится - сложно сказать.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
7 чел. читают эту тему (гостей: 7, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 21.9.2020, 2:11
 Яндекс цитирования  Rambler's Top100