dastanaron/homeaccounting

The Laravel Framework.


README

Данная система, это замена аналогичной, сделанной на Yii2 (старая система). В старой системе требуется множество доделок и переделок, кроме того, на Yii2 сложно отдельно собирать фронтенд. Именно поэтому, я решил сделать все новые функции и доработки на новой системе, как бы с чистого листа, учитывая ошибки прошлых разработок.

Используется:

Как работает

Все довольно стандартно. Есть защищенные авторизацией API, которые выполняют взаимодействие frontend'а с базой данных. Расчеты и управление данными вынесено в личный кабинет и управляется скриптами на Vue. Доработок еще требуется много, нужно еще придумать главную страницу, чтобы убрать стандартную Laravel, но пока чисто функциональное решение. Как только это станет чем-то стоящим можно сделать установку через композер. Пока установка будет проводиться через стандартное клонирование репозитория.

Установка

Клонируем репозиторий

git clone git@github.com:dastanaron/HomeAccountingLaravel.git

cd HomeAccountingLaravel

composer install

#Миграция баз данных, предварительно настраивается в файле .env, который можно сделать путем копирования
cp .env.example .env
./artisan migrate

#если требуется доработка фронтенда то еще 
npm install

Прописываем хосты на своем сервере или docker, и система готова к работе

Docker

Возможен разворот проекта через докер. Нужно установить docker и docker-compose.

В дирректории docker есть файл example.env, необходимо выполнить (из папки проекта)

cp docker/example.env docker/.env

Затем открыть env файл и ввести там свои настройки для пароля BD, для того, от какого пользователя будут работать сервисы fpm и nginx.

После так же из дирректории проекта выполнить:

./docker/bin/start

Контейнеры будут собраны и запущены. Все настройки можно посмотреть в конфигах docker-compose, в том числе по тому какой домен присвоен машине и т.п. Если вам нужна тестовая база для экспериментов, напишите мне на flow199@yandex.ru, с указанием что хотите сделать, я предоставлю ссылку на тестовую базу

Настройка обработки событий

Пока используется системный крон, вскоре будет один общий laravel'овский для всех необходимых.

Пример:

*/1 * * * * /usr/bin/php /path-to-project/artisan webPush:notifications >> /path-to-log/logname.log

15 02 * * * /usr/bin/php /path-to-project/artisan calculate:monthDynamics >> /path-to-log/logname.log

10 18 * * * /usr/bin/php /path-to-project/artisan currency:parse >> /path-to-log/logname.log