O Balance é um pequeno sistema Web para controle de balancete contábil simples, com cadastro de contas, lançamentos e visualização do balancete.
O funcionamento básico pode ser encontrado na Wiki do projeto.
Você pode contribuir com este projeto! Acesse o arquivo CONTRIBUTING.md
e saiba mais. Para auxiliar no desenvolvimento, disponibilizamos a API do Balance.
Este projeto possui uma instalação rápida através do Docker Compose.
docker-compose up
docker-compose exec php-fpm make install
O projeto estará acessível através de um navegador no endereço http://localhost
.
O Balance é um sistema que utliza um servidor Web, PHP e banco de dados PostgreSQL para armazenamento das informações. A instalação deste projeto deve feita através do composer
e bower
.
bcmath
, intl
e pgsql
;A inicialização do projeto deve ser efetuada utilizando o composer
.
composer create-project --no-dev wandersonwhcr/balance
Para criação do banco de dados, utilize os seguintes comandos em modo administrador.
psql -c "CREATE ROLE balance LOGIN PASSWORD 'balance'" -U postgres
psql -c "CREATE DATABASE balance WITH OwNER balance ENCODING = 'UTF8' TEMPLATE = template0" -U postgres
Lembre-se que você pode alterar o usuário e o banco de dados conforme a sua necessidade. Após, você precisa configurar o sistema para acessar o banco de dados corretamente, efetuando uma cópia das configurações globais para configurações locais.
cp config/autoload/config.global.php config/autoload/config.local.php
Após, edite o arquivo config/autload/config.local.php
, informando as configurações de acesso ao banco de dados. O arquivo inicialmente terá a seguinte estrutura.
<?php
return [
'db' => [
'driver' => 'pgsql',
'database' => 'balance',
'username' => 'balance',
'password' => 'balance',
'hostname' => 'localhost',
'port' => '5432',
'charset' => 'UTF8',
],
];
O próximo passo é executar o make
para que seja possível a instalação das dependências.
make install
Para acesso ao sistema utilizando o servidor Web, precisamos criar um alias de diretório no virtualhost correspondente, direcionando todas os acessos que possuem o padrão ^/module/([a-zA-Z0-9]+)/(.*)$
para o diretório /module/$1/public/$2
. Por exemplo, no Nginx, isto pode ser feito da seguinte forma:
server {
listen 80;
server_name domain.example.com;
root /var/www/domain.example.com;
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location /module {
rewrite ^/module/([a-zA-Z0-9]+)/(.*)$ /../module/$1/public/$2 break;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
Quando eu estava cursando meu Técnico em Informática em 2005, desenvolvi um pequeno software em Delphi que efetuava um balancete contábil simples, fruto de um trabalho final para a disciplina de Contabilidade. Depois de alguns meses, comecei a efetuar lançamentos contábeis utilizando papel e caneta, mantendo este trabalho por 6 anos. Em 2011, desenvolvi um aplicativo de código-fonte fechado para executar o mesmo trabalho que eu efetuava no papel, buscando, algum dia, disponibilizar o código.
Decidindo reescrevê-lo, no ano de 2015 eu resolvi adicionar todas as tecnologias que dominava no momento. Assim, criei este projeto para contribuir com a comunidade de software livre, buscando novos conhecimentos.
Este projeto é opensource e utiliza a Licença BSD-3-Clause, descrita no arquivo LICENSE
.