GithubHelp home page GithubHelp logo

docigp's Introduction

DOCIGP - Descentralização Orçamentária de Custeio Individualizado para Gabinete Parlamentar

Características da aplicação

Instalação

Guia genérico de uma aplicação desenvolvida em PHP pelo Projetos Especiais

  • Clonar o repositório (branch: staging [homologação] or production [produção])
  • Configurar servidor web para apontar para a <pasta-aonde-o-site-foi-instalado>/public
  • Instalar certificado SSL (precisamos que a página seja acessível via https apenas)
  • Criar o banco do dados
  • Entrar na <pasta-aonde-o-site-foi-instalado>
  • Copiar o arquivo .env.example para .env
  • Editar o arquivo .env e configurar todos dados do sistema
  • Ainda no arquivo .env, alterar a variável APP_ENV para o ambiente correto (testing, staging, production)
  • Ainda no arquivo .env, configurar banco de dados
  • Executar o comando composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev para instalar todas as dependências da aplicação
  • Banco de dados
    • Caso não haja backup: executar o comando php artisan migrate para criar a estrutura do banco de dados
    • Caso haja backup: restaurar o banco e executar o comando php artisan migrate para atualizar a estrutura do banco de dados

Atualizando a aplicação

  • Entrar na <pasta-aonde-o-site-foi-instalado>
  • Baixar as atualizações de código fonte usando Git (git pull ou git fetch + git merge, isso depende de como operador prefere trabalhar com Git)
  • Executar o comando composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev para instalar todas as dependências (atualizadas)
  • Executar os comandos:
php artisan migrate
php artisan docigp:sync:roles
php artisan storage:link

Passos extras específicos desta aplicação

Configurar scheduler

Colocar no cron a seguinte linha de comando, respeitando o path da aplicação:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Configurar o Laravel Horizon

Configurar o Supervisor para manter o Horizon rodando o seguinte deamon

php artisan horizon
Configurar Pusher

As configurações ficam no .env:

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=

Comandos disponíveis

alias a="php artisan"

a docigp:sync:parties 
a docigp:sync:congressmen
a docigp:sync:departaments
a docigp:sync:roles
a docigp:budget:generate
a docigp:role:assign administrator [email protected] 
a storage:link

Para debugar

- Budget de Fevereiro e Março
a migrate:fresh -vvv --force; a docigp:sync:parties -vvv; a docigp:sync:congressmen -vvv; a docigp:sync:departaments; a docigp:sync:roles; a docigp:budget:generate 2019-02-01; a docigp:budget:generate 2019-03-01;                                a db:seed -vvv --force; a docigp:budget:generate -vvv; 
- Budget de Fevereiro, Março e Abril
a migrate:fresh -vvv --force; a docigp:sync:parties -vvv; a docigp:sync:congressmen -vvv; a docigp:sync:departaments; a docigp:sync:roles; a docigp:budget:generate 2019-02-01; a docigp:budget:generate 2019-03-01; a docigp:budget:generate -vvv; a db:seed -vvv --force;

Permissões

Deputado (lançar / verificar / verificar o próprio lançamento / criar usuário)
Chefe (lançar / verificar / verificar o próprio lançamento / criar usuário)
Gestor (lançar / verificar / criar usuário)
Assessor (visualizar)
Lançador (lançar / editar)
Verificador (verificar)

Diretor (associar perfil de deputado / autorizar / publicar / publicar o que foi autorizado por ele / criar usuário)
Financeiro (depositar)
Assistente (autorizar / publicar / publicar o que foi autorizado por ele / criar usuário)
Gestor (autorizar / publicar / criar usuário)
Funcionário (visualizar)
Autorizador (autorizar)
Publicador (publicar)

docigp's People

Contributors

antonioribeiro avatar bmasquio avatar alexandre1br avatar orlandovinicius1987 avatar chapeupreto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.