https://github.com/vhnegrisoli/realtime_dashboard_socketio
Criação de um dashboard em tempo real utilizando Node.js, Express.js, Socket.io, MongoDB, Chart.js, HTML e MateralizeCSS
https://github.com/vhnegrisoli/realtime_dashboard_socketio
api-rest charts expressjs javascript materializecss nodejs socketio
Last synced: 4 months ago
JSON representation
Criação de um dashboard em tempo real utilizando Node.js, Express.js, Socket.io, MongoDB, Chart.js, HTML e MateralizeCSS
- Host: GitHub
- URL: https://github.com/vhnegrisoli/realtime_dashboard_socketio
- Owner: vhnegrisoli
- License: mit
- Created: 2020-08-14T11:20:01.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-06-25T12:53:36.000Z (almost 4 years ago)
- Last Synced: 2025-01-10T15:48:59.844Z (5 months ago)
- Topics: api-rest, charts, expressjs, javascript, materializecss, nodejs, socketio
- Language: Handlebars
- Homepage: https://socketio-dashboard-realtime.herokuapp.com
- Size: 7.09 MB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Projeto: Dashboard em Real-Time :chart:

### Objetivos :white_check_mark:
Este projeto tem como objetivo colocar em prática meus conhecimentos de desenvolvimento back-end e Node.js
na criação de um dashboard em tempo real baseado em operações de CRUD relacionadas a lançamento de vendas.O usuário terá a possibilidade de registra seus produtos, quais são suas categorias e fornecedores, e em seguida
registrar quais foram as vendas destes produtos, e a cada venda lançada, o dashboard principal será atualizado
em tempo real conforme cada venda é lançada.### Motivação 🎆
Minha motivação foi de juntar meus conhecimentos em desenvolvimento back-end e front-end com a análise de dados,
unindo as duas áreas na tentativa de entregar uma ferramenta que corresponde ao objetivo de muitos gestores e
tomadores de decisão: saber o que está acontecendo na hora, em tempo real!
### Tecnologias :computer:
* Javascript ES6
* Node.js
* Express.js
* Socket.io
* MongoDB
* Handlebars
* Arquitetura de API REST e MVC
* HTML
* Materialize CSS
* Chart.js
* Docker
* Docker-compose
* Heroku (Deployment)### Instalação :floppy_disk:
##### Instalação local
Para instalar o projeto, execute o comando:
`yarn`
**Para rodar localmente, será necessário ter uma instância do MongoDB rodando em seu ambiente na porta 27017.**
### Execução :dvd:
##### Executando local
Para executar o projeto, rode o comando:
`yarn start`
##### Instalação e execução via docker-compose
Para instalar via docker-compose, basta apenas executar o comando:
`docker-compose up -d`
Para parar os containers, apenas execute o comando:
`docker-compose stop`
O projeto estará disponível no endereço: `http://localhost:8080`.
### Deployment :star::collision::+1::punch:
Foi feito o deploy do projeto na plataforma `Heroku`, e pode ser acessado na URL abaixo:
https://socketio-dashboard-realtime.herokuapp.com
### Demonstração :desktop_computer:
No GIF abaixo, podemos ver a dashboard atualizando conforme são feitas
as vendas. É possível também reiniciar os dados da aplicação clicando no botão `Reiniciar dados`, logo no menu.As funcionalidades são de visualizar o dashboard, lançar vendas, cadastrar e listar produtos, fornecedores e categorias.

### Imagens do dashboard feito com Materialize CSS e Chart.js :chart:
#### Cards (KPIs) de totais vendas finalizadas, abertas, aprovadas e rejeitadas, e gráfico com análise de vendas mensais

#### Análise de vendas mensais por valor total de venda, total de vendas por produtos e fornecedores

#### Análise de vendas por aprovações (ABERTA, FECHADA), por situações (APROVADA, REJEITADA e AGUARDANDO_APROVACAO) e vendas por produtos

### Autor :nerd_face:
### Victor Hugo Negrisoli
#### Desenvolvedor Full-Stack Pleno & Analista de Dados