=pod =encoding utf8 =head3 Доброго всем ¡ ¡ ¡ ALL GLORY TO GLORIA ! ! ! =head1 О проекте SOST Это внутренний корпоративный портал учета для группы строительных контор. Базовая браузерная нагрузка на фреймворк AngularJS (version >1.7.x). С постепенным переходом на Vue. Серверный Perl фреймворк - Mojolicious (version >7.xx) =head1 Сторонние (CPAN) модули Perl Список в файле C< perlbrew.list-modules > #список получен командой perlbrew list-modules > list-modules # или лучше perl -MExtUtils::Installed -E 'say for ExtUtils::Installed->new->modules' > list-modules # применить установку списка (https://perlbrew.pl/Reinstall-All-Modules-On-New-Perl.html) cat list-modules | perlbrew exec --with perl-5.xx.x cpanm =head1 Основные модули системы =head2 Управление списками сотрудников, групп, ролей и маршрутов системы Это мощный модуль типа ActiveDirectory. Доступ в системе, различные привязки сотрудников к объектам строительства, должностям, бригадам, ... lib/Controll/Access.pm lib/Model/Access.pm templates/access/ static/js/components/access/ =head2 Учет денежных средств lib/Controll/Waltex.pm templates/waltex/ =head3 Движение денежных средств Форма ввода прихода/расхода по контрагентам, сотрудникам, а также внутренние перемещения между проектами. lib/Controll/Waltex/Money.pm static/js/components/waltex/money =head3 Отчет по денежным средствам На основе данных движения ДС. lib/Controll/Waltex/Report.pm templates/waltex/report/ static/js/components/waltex/report/ =head2 Учет рабочего времени lib/Controll/TimeWork.pm lib/Model/TimeWork.pm templates/timework/ =head3 Табель учета рабочего времени Форма одного месяца, одного объекта. static/js/components/timework/form.* =head3 Сводка по табелю рабочего времени Начисление заработанных сумм, контроль баланса начислений и выплат. static/js/components/timework/report.* =head2 Учет ТМЦ lib/Controll/TMC.pm lib/Model/TMC.pm templates/tmc/ =head3 Заявки ТМЦ на объектах Форма одной позиции заявки вводят на объектах. Список заявок. static/js/components/tmc/ask-form.* static/js/components/tmc/ask-table.* =head3 Заявки ТМЦ на оплате Форма ввода для снабженца к заявкам ТМЦ данных о факте оплаты. static/js/components/tmc/ask-snab-form.* static/js/components/tmc/ask-snab-table.* =head2 Учет транспорта/техники и заявок lib/Controll/Transport.pm lib/Model/Transport.pm templates/transport/ static/js/components/transport/ =head1 Бакапы =head2 crontab -l # Global variables SHELL=/bin/bash PB='source ~/perl5/perlbrew/etc/bashrc; source ~/postgresql/env; perlbrew use perl-5.26.1' LANG=ru_RU.utf8 WDAYHOUR=date +%a%H # если --format=с то восст pg_restore -U postgres -d dbname -v [файл] 20 9-23 * * * cd ~/папка; eval $PB; pg_dump --no-owner --exclude-schema=tmp --exclude-table-data=public.logs dbname | gpg -q --batch --yes -e -r my@email.ru --trust-model always -z 9 > backup/$($WDAYHOUR).pg.dump.gpg 2>/dev/null 25 9-23 * * * cd ~/папка; eval $PB; echo "start $($WDAYHOUR).pg.dump.gpg" >> log/cron-backup.log; perl script/mailru-cloud.pl --file=backup/$($WDAYHOUR).pg.dump.gpg --path=backup --cred='user:pass' 2>>~/папка/log/cron-backup.log >/dev/null =head2 Развернуть бакап базы данных # в другом месте gpg --import Загрузки/мой\ ключ\ гпг.gpg gpg --output - --decrypt Вт23.pg.dump.gpg > Вт23.pg.dump createdb -U postgres dbname psql -U postgres dbname < Вт23.pg.dump =head2 Вся папка проекта # не включать большой файл и скрытые пункты tar --exclude='.[^/]*' --exclude="*.gpg" --exclude="*.log" -cvjf - папка/ | gpg -q --batch --yes -e -r my@email.ru --trust-model always > папка.tar.bz2.gpg # в другом месте gpg --import Загрузки/мой\ ключ\ гпг.gpg gpg --output папка.tar.bz2 --decrypt папка.tar.bz2.gpg gpg --output - --decrypt папка.tar.bz2.gpg | tar -tjf - gpg --output - --decrypt папка.tar.bz2.gpg | tar -xvjf - =head1 Тесты ~/github/apib/apib -d 1 -k 0 -c 1 -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0' -H 'Accept: application/json, text/plain, */*' -H 'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3' -H 'Referer: http://localhost:3000/waltex' -H 'Cookie: OST=e.........' -H 'Connection: keep-alive' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H "Content-Type: application/json" -f ~/money.json http://localhost:3000/waltex/money/save =head1 SEE ALSO =head1 AUTHOR Михаил Че (Mikhail Che), C<< <mche[-at-]cpan.org> >> =head1 BUGS / CONTRIBUTING Please report any bugs or feature requests at L<https://github.com/mche/sost/issues>. Pull requests also welcome. =head1 COPYRIGHT Copyright 2017 Mikhail Che. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut