Neste repositório, você encontrará alguns exemplos e um projeto que foram desenvolvidos para exploração e aprendizado de algumas tecnologias associadas à Computação em Nuvem e Redes Complexas. Seja bem-vindo e sinta-se à vontade para explorar o código e contribuir!
O objetivo é criar uma aplicação voltada à análise do mercado financeiro por meio de redes complexas, revelando conexões e fornecendo insights sobre as interações entre as ações do mercado. Este projeto envolve a construção de uma aplicação distribuída para capturar, processar e visualizar dados financeiros, representando-os como uma rede de co-movimentos interativa. Utilizando uma arquitetura baseada containers, a aplicação é dividida em várias partes que gerenciam a coleta, o processamento e a visualização dos dados financeiros.
- Apache Kafka: Para gerenciar fluxos de dados em tempo real.- Docker: Para garantir a portabilidade e replicabilidade do ambiente de desenvolvimento e execução.
- Python: Utilizados nos serviços produtores e consumidores do Kafka.
- Networkx: Biblioteca Python para estudo de redes complexas.
- Golang: Para implementação API.
- React: Para implementaçaõ UI.
- PostgreSQL: Para armazenar dados diversos.
- APIs de Mercado de Ações: Para coleta de dados em tempo real do mercado.
- Apache Cassandra: Na versão atual não é utilizado, mas deixei alguns testes realizados com este tipo de banco de dados para armazenar as redes complexas. Veja os exemplos
O diagrama a seguir oferece uma visão geral da topologia do sistema:
/doc
: Documentação do projeto, incluindo especificações e design./examples
: Exemplos elementares de como utilizar algumas das tecnologias envolvidas no projeto./project
: Contém todos os projetos e módulos associados ao RealStockInsight.
As instruções de uso são detalhadamente delineadas nos arquivos README
dos exemplos. Você pode encontrar orientações sobre depuração e configuração do ambiente utilizando Docker no README localizado no diretório project
.
Confira na imagem a seguir a interface do usuário desenvolvida com a biblioteca D3.
Este projeto está licenciado sob a Licença MIT.
Contribuições são sempre bem-vindas! Para contribuir:
- Faça um fork do projeto.
- Crie uma nova branch para suas modificações (
git checkout -b feature/AmazingFeature
). - Faça commit de suas alterações (
git commit -m 'Add some AmazingFeature'
). - Faça push para a branch (
git push origin feature/AmazingFeature
). - Abra um Pull Request.