Skip to content

Commit

Permalink
Merge branch 'angelo/coisas' of https://github.com/VitorM3/Ecommerce-ED
Browse files Browse the repository at this point in the history
… into angelo/coisas
  • Loading branch information
Ângelo José da Rosa committed Jun 28, 2024
2 parents 6b1c7b0 + 3a30a2a commit 5738734
Show file tree
Hide file tree
Showing 13 changed files with 151 additions and 48 deletions.
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ name: Feature request
description: Suggest an idea for this project
title: "[FEAT]: "
labels: ["enhancement", "question"]
assignees: ''

body:
- type: markdown
Expand Down
32 changes: 23 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Ecommerce · [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) ![Release](https://img.shields.io/github/v/release/VitorM3/Ecommerce-ED)
# Ecommerce · [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) ![Release](https://img.shields.io/github/v/release/VitorM3/Ecommerce-ED) [![Deploy MkDocs to GitHub Pages](https://github.com/VitorM3/Ecommerce-ED/actions/workflows/deploy-mkdocs.yml/badge.svg)](https://github.com/VitorM3/Ecommerce-ED/actions/workflows/deploy-mkdocs.yml)


Um modelo genérico de E-commerce para validação de conhecimentos da matéria de Engenharia de Dados.
Expand All @@ -15,24 +15,33 @@ Consulte **[Implantação](#-implanta%C3%A7%C3%A3o)** para saber como implantar

## Pré-requisitos

⚠️ **TODO** ⚠️ Inserir pré-requisitos com trechos de código.
Para que o projeto funcione devidamente é necessário que seja instalado em um computador com as seguintes configurações:
Memoria Ram: 16gb
Processador: Intel core i5 6gh ou superior
Espaço em disco: 6gb

## Instalação
Além disto é necessário a previa instalação e configuração do docker:
https://docs.docker.com/engine/install/

⚠️ **TODO** ⚠️ Inserir guia de instalação com trechos de código.
## Instalação

Terminar com um exemplo de como obter dados do sistema ou como usá-los para uma pequena demonstração.
Para realizar a instalação é rode o comando
```bash
docker compose up
```
Este comando irá subir todos os containers que farão o processo funcionar devidamente

## Implantação

⚠️ **TODO** ⚠️ Adicionar notas adicionais sobre como implantar isso em um sistema ativo.
Após instalado, será necessário a configuração das conexões do apache spark e do banco base postreSql. Esta configuração poderá ser feita dentro da aba de conexões do apache airflow. Localizada em:
> admin > Connections
## Ferramentas utilizadas

⚠️ **TODO** ⚠️ Mencionar as ferramentas que usamos
<div align="center">

# [![Postgres](https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge&logo=postgresql&logoColor=white)](https://www.postgresql.org/) [![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/) [![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white)](https://www.docker.com/) [![Spark](https://img.shields.io/badge/Apache%20Spark-E25A1C?style=for-the-badge&logo=apache-spark&logoColor=white)](https://spark.apache.org/) [![AirFlow](https://img.shields.io/badge/Airflow-017CEE?style=for-the-badge&logo=Apache%20Airflow&logoColor=white)](https://airflow.apache.org/) [![Visual Studio Code](https://img.shields.io/badge/Visual_Studio_Code-0078D4?style=for-the-badge&logo=visual%20studio%20code&logoColor=white)](https://code.visualstudio.com/)
# [![Postgres](https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge&logo=postgresql&logoColor=white)](https://www.postgresql.org/) [![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/) [![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white)](https://www.docker.com/) [![Spark](https://img.shields.io/badge/Apache%20Spark-E25A1C?style=for-the-badge&logo=apache-spark&logoColor=white)](https://spark.apache.org/) [![AirFlow](https://img.shields.io/badge/Airflow-017CEE?style=for-the-badge&logo=Apache%20Airflow&logoColor=white)](https://airflow.apache.org/) [![Visual Studio Code](https://img.shields.io/badge/Visual_Studio_Code-0078D4?style=for-the-badge&logo=visual%20studio%20code&logoColor=white)](https://code.visualstudio.com/) ![MiniO](https://img.shields.io/badge/MinIO--pink?style=for-the-badge&logo=MinIO)


</div>

Expand Down Expand Up @@ -71,6 +80,7 @@ O versionamento é feito com base na metodologia [SEMVER](https://semver.org/lan
* **[Lucas de Oliveira Alano](https://github.com/LucasAlano)** - *Orquestração*
* **[Vinicius Albino dos Santos](https://github.com/Shinguek0)** - *Data Visualization*
* **[Vitor Loch Mafei Rosa](https://github.com/VitorM3)** - *DBA*
* **[Vitor Loch Mafei Rosa](https://github.com/VitorLMR)** - *DBA*
* **[Vitor Minatto Barp](https://github.com/Minattoo)** - *Data Visualization*
* **[Yuri Lopes Machado](https://github.com/YuriLopesM)** - *Documentação*

Expand All @@ -82,4 +92,8 @@ Este projeto está sob a licença MIT - veja o arquivo [LICENSE](./LICENSE) para

## Referências

⚠️ **TODO** ⚠️ Cite aqui todas as referências utilizadas neste projeto, pode ser outros repositórios, livros, artigos de internet etc.
* **[Documentação Apache Spark](https://spark.apache.org/docs/latest/)**
* **[Documentação Apache Airflow](https://airflow.apache.org/docs/)**
* **[Documentação Delta Lake](https://delta.io/)**
* **[Bíblia Sagrada](https://www.bibliaonline.com.br/)**

Binary file added dashboard/ecommerceED.pbit
Binary file not shown.
9 changes: 0 additions & 9 deletions database_base/docker-compose.yml

This file was deleted.

Empty file added docs/arquitetura.md
Empty file.
Binary file added docs/assets/community_standards.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
67 changes: 67 additions & 0 deletions docs/dashboard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Dashboard

---

## Introdução

Este documento descreve o processo de criação de um dashboard utilizando o Power BI, a partir de dados recebidos por meio de uma pipeline de dados. Além disso aborda a utilização de recursos adicionais, como vídeos no YouTube e artigos, para garantir a entrega de um dashboard de alta qualidade.

## Ferramenta

Utilizamos o Power BI por ser uma ferramenta de visualização de dados da Microsoft que permite a criação de dashboards interativos e informativos. Com uma interface intuitiva e diversas opções de visualização, o Power BI é amplamente utilizado em empresas de diversos setores para análise de dados e tomada de decisões.

<br>

## Passos executados

<br>

**1. Coleta e Pré-Processamento de Dados**

- Definição dos Requisitos de Dados
- Identificação das fontes de dados necessárias.
- Determinação dos KPIs e métricas relevantes para o dashboard.
- Configuração da Pipeline de Dados

**2. Importação de Dados para o Power BI**

- Conexão às Fontes de Dados
- Utilização das funcionalidades de importação de dados do Power BI.
- Configuração de conexões a bancos de dados, arquivos CSV, Excel, APIs, etc.
- Modelagem de Dados
- Criação de relacionamentos entre tabelas.

**3. Criação do Dashboard**

- Design e Layout do Dashboard
- Escolha de visualizações apropriadas (gráficos de barras, gráficos de linhas, etc.).
- Inserção e configuração de gráficos e tabelas no Power BI.
- Personalização de cores, fontes e outros aspectos visuais para melhorar a apresentação.
- Adição de filtros para permitir a exploração interativa dos dados.
- Configuração de _drill-throughs_ e links para aprofundar em detalhes específicos.

**4. Validação e Refinamento**

- Verificação de Consistência dos Dados
- Checagem de precisão e integridade dos dados importados e modelados.
- Comparação com fontes originais para garantir consistência.
- Testes de Usabilidade.

<br>

## Referências

Vídeos no Youtube:

- **"Power BI Full Course - Learn Power BI in 4 Hours | Power BI Tutorial | Edureka"**: Tutorial abrangente que cobre desde a importação de dados até a criação de dashboards.
- **"Advanced Power BI Techniques for Building Effective Dashboards | Guy in a Cube"**: Técnicas avançadas para aprimorar a funcionalidade e a estética dos dashboards.

Artigos e Blogs:

- **"10 Tips for Creating Effective Power BI Dashboards" (Microsoft Power BI Blog)**: Dicas práticas para criar dashboards eficientes e informativos.
- **"Data Visualization Best Practices in Power BI" (SQLBI)**: Melhores práticas para visualização de dados utilizando Power BI.

<br>

## Conclusão
A criação de um dashboard no Power BI, suportada por uma pipeline de dados robusta, permite uma visualização clara e interativa das métricas e KPIs relevantes. A utilização de recursos adicionais, como vídeos e artigos, contribui para a entrega de um produto final de alta qualidade, alinhado às melhores práticas do mercado.
17 changes: 4 additions & 13 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,8 @@
# Welcome to MkDocs
# Documentação do projeto

For full documentation visit [mkdocs.org](https://www.mkdocs.org).
---

## Commands
Este projeto é um exemplo de um sistema de Ecommerce focado para ser generalista e atender a maioria dos casos de uso comuns em sistemas de lojas virtuais. O intuito é gerar insights valiosos por meio da visualização de dados, utilizando de técnicas de pipelines de dados para a ingestão, transformação e visualização de dados.

- `mkdocs new [dir-name]` - Create a new project.
- `mkdocs serve` - Start the live-reloading docs server.
- `mkdocs build` - Build the documentation site.
- `mkdocs -h` - Print help message and exit.
Visite as abas ao lado para mais informações sobre o projeto.

## Project layout

mkdocs.yml # The configuration file.
docs/
index.md # The documentation homepage.
... # Other markdown pages, images and other files.
38 changes: 38 additions & 0 deletions docs/padroes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Padrões do projeto

---

## Documentação

Focamos em criar uma documentação concisa, utilizando os melhores padrões de escrita e organização de documentos. Para isso, utilizamos o Markdown, que é uma linguagem de marcação leve e fácil de usar, responsável tanto pelas documentações que você está lendo e as que estão disponíveis no repositório.

Os arquivos recomendados para a documentação são:

- `README.md` - Documentação principal do projeto
- `CHANGELOG.md` - Registro de todas as alterações feitas no projeto
- `CONTRIBUTING.md` - Guia de contribuição para o projeto
- `CODE_OF_CONDUCT.md` - Código de conduta para os colaboradores
- `COLABORATORS.md` - Lista de todos os colaboradores do projeto
- `SECURITY.md` - Informações sobre como denunciar vulnerabilidades de segurança do projeto
- `LICENSE` - Licença do projeto

<br>

Além disso, nos atentamos em criar padrões para Issues e Pull Requests, para que a comunicação entre os colaboradores seja eficiente e clara. Os templates podem ser encontrados dentro de `.github`.


| Pull Request | Bug Issue | Feature Request Issue |
|---------------------------|----------------------|-----------------------|
|`PULL_REQUEST_TEMPLATE.md` | `bug-report.yml` | `feature-request.yml` |

<br>

## Changelog

Tentamos criar uma pipeline (localizada em `.github/release.yml`) para automatizar a criação de releases e a atualização do `CHANGELOG.md`. A ideia é que a cada nova versão, o arquivo seja atualizado com as novas funcionalidades, correções e melhorias feitas. Porém não conseguimos criar uma release a tempo para testar o funcionamento.

<br>

## Deploy

Para o deploy do MKDocs, utilizamos o GitHub Pages. A pipeline `deploy-mkdocs.yml` dentro de `.github/workflows` é responsável por fazer o deploy automático do site a cada nova alteração feita na branch `main` e verificando somente arquivos em que há alterações que geram uma nova versão do MKDocs. A ideia é que o site seja atualizado automaticamente, sem a necessidade de intervenção humana.
1 change: 0 additions & 1 deletion docs/test.md

This file was deleted.

5 changes: 3 additions & 2 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
site_name: Eccomerce-ED
nav:
- Home: index.md
- Padrões do Projeto: padroes.md
- Arquitetura: arquitetura.md
- Componentes:
- Ferramentas:
- Apache Spark: componentes/apache_spark.md
- Apache Airflow: componentes/apache_airflow.md
- MinIO: componentes/minio.md
- Pipeline de Dados: pipeline.md
- Dashboard: dashboard.md
theme:
name: gitbook
name: dracula
27 changes: 15 additions & 12 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ readme = "README.md"
[tool.poetry.dependencies]
python = "^3.12"
mkdocs = "^1.6.0"
mkdocs-gitbook = "^0.0.1"
mkdocs-dracula-theme = "^1.0.7"

[tool.poetry.scripts]
serve = "mkdocs:serve"
Expand Down

0 comments on commit 5738734

Please sign in to comment.