Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/henrique-r-luz/invest

O Invest é um sistema de controle de investimentos pessoal que possibilita a centralização de todos os seus ativos em um só lugar. Ele permite o controle de aplicações de renda variável e fixa
https://github.com/henrique-r-luz/invest

bootstrap4 docker docker-compose investimentos jquery php8 postgresql yii2

Last synced: 9 days ago
JSON representation

O Invest é um sistema de controle de investimentos pessoal que possibilita a centralização de todos os seus ativos em um só lugar. Ele permite o controle de aplicações de renda variável e fixa

Awesome Lists containing this project

README

        




Sistema Invest





O Invest é um sistema de controle de investimentos pessoal que possibilita a centralização de todos os seus ativos em um só lugar. Ele permite o controle de aplicações de renda variável e fixa. A seguir é listado alguns dos recursos do sistema:

- Cadastro de ativos.
- Cadastro de Operações dos ativos(Venda e compra).
- Cadastro de Investidores
- Sincronização de preços do ativos.
- Cadastro proventos para renda Variável
- Importação de operações de renda variável das corretoras Clear e Avenue.
- Atualização de ativos de renda fixa da Corretora NuInvest.
- Atualização de CDB do banco inter.
- Importação de proventos e rendimentos da B3.
- Gráficos Descritivos informativos.
- Auditoria

## Arquitetura de Containers
A imagem abaixo revela a arquitetura de containers do sistema Invest.

![Diagrama invest](https://github.com/henrique-r-luz/invest/assets/12544898/fb6bf662-d6ca-42d5-8c17-8981637900de)


Descrições dos containers:
- apache: Servidor web, utilizando o sistema apache.
- app: PHP 8 com os códigos do sistema
- db_invest: Banco de dados do sistema com o Postgresql instalado
- db_teste: Banco de dados para testes automatizados.

## Pré-requisito
- Git
- Docker
- Docker-compose

## Tecnologias utilizadas

- ``PHP 8``
- ``Yii2``
- ``Python3``
- ``PostgresSql``
- ``JavaScript``


## Instalação
Baixar o projeto no github.
~~~
git clone https://github.com/henrique-r-luz/invest.git
~~~
Após a conclusão do download entre na pasta invest e execute o comando abaixo.
Esse processo pode levar alguns minutos porque o docker irá criar e configurar
cada container.
~~~
sudo docker-compose up
~~~
Com os contêineres ligados, acesse o app com o seguinte comando:
~~~
docker exec -it invest_app_1 bash
~~~
Execute o compose para instalar as dependências
~~~
composer install
~~~
Depois execute os migrates
~~~
php yii migrate
~~~
É necessário cria contas em APIs para atualizar os preços dos ativos de renda variável, as apis utilizadas são:
~~~
https://brapi.dev/ (renda variável no Brasil)
https://blockchain.info/ticker (Bitcoin)
https://site.financialmodelingprep.com (renda variável nos Estados Unidos)
~~~
A configuração das APIs é feita editando o arquivo /config/api_preco.php
~~~
ApiPreco::class,
'apiBitcoin' => 'https://blockchain.info/ticker',
'apiUsa' => 'https://financialmodelingprep.com/api/v3/quote-short/',
'apiUsaKey' => '?apikey=',
'apiBr' => 'https://brapi.dev/api/quote/',
'apiBrKey' => '?token=',
'apiMoeda' => 'https://economia.awesomeapi.com.br/last/USD-BRL'
];
~~~
Com os migrates executados os sistema está pronto para uso, acesse:
~~~
http://localhost
~~~
Aparecerá a tela de login
~~~
login:admin
senha:admin
~~~

![login](https://user-images.githubusercontent.com/12544898/174130185-cb875c32-7f8c-4ddd-974c-29a611f77ef5.png)

Realizando o login o sistema já pode ser utilizado, segui a tela inicial do invest

![telaInicial](https://user-images.githubusercontent.com/12544898/174131132-31e9e679-23db-4a6b-a565-c83c432e4d56.png)

O Sistema possui alguns testes automatizados, para executá-los acesse o container do app:

~~~
docker exec -it invest_app_1 bash
~~~

Dentro do terminal do app execute o seguinte comando:

~~~
./vendor/bin/codecept run
~~~

O manual do usuário se encontra na wiki do projeto.

## Autor

[
Henrique Rodrigues Luz](https://github.com/henrique-r-luz)