https://github.com/ioott/backend-python_mysql
Sistema de análise de transações com cartão, que faz a leitura de um arquivo CSV contendo dados de transações, processa e armazena-os em um banco de dados MySQL, também permite gerar relatórios com base nos dados armazenados e verificar se um usuário específico é suspeito ou não.
https://github.com/ioott/backend-python_mysql
mysql-database python
Last synced: about 2 months ago
JSON representation
Sistema de análise de transações com cartão, que faz a leitura de um arquivo CSV contendo dados de transações, processa e armazena-os em um banco de dados MySQL, também permite gerar relatórios com base nos dados armazenados e verificar se um usuário específico é suspeito ou não.
- Host: GitHub
- URL: https://github.com/ioott/backend-python_mysql
- Owner: ioott
- Created: 2023-02-15T18:24:52.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-02-18T18:01:50.000Z (over 3 years ago)
- Last Synced: 2025-01-21T22:33:01.799Z (over 1 year ago)
- Topics: mysql-database, python
- Language: Python
- Homepage:
- Size: 144 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Aplicação para Análise de Transações com Cartão
Sobre •
Tecnologias •
Instalação •
Utilização •
Próximos Passos
## Sobre
Este é um sistema de análise de transações com cartão, desenvolvido em Python. A aplicação faz a leitura de um arquivo CSV contendo dados de transações, processa e armazena-os em um banco de dados MySQL. Além disso, a aplicação também permite gerar relatórios com base nos dados armazenados e verificar se um usuário específico é suspeito ou não de realizar transações fraudulentas.
## Tecnologias
O sistema foi desenvolvido utilizando as seguintes tecnologias:
* Python
* MySQL
## Instalação
Para utilizar o sistema, é necessário instalar o Python e o MySQL em sua máquina.
### Python
Para instalar o Python:
* Acesse o site oficial: https://www.python.org/downloads/
* Escolha a versão mais recente do Python 3 e faça o download de acordo com seu sistema operacional.
* Execute o instalador e siga as instruções para concluir a instalação.
### MySQL
Para instalar o MySQL:
* Acesse o site oficial: https://dev.mysql.com/downloads/
* Escolha a versão mais recente do MySQL 8 e faça o download de acordo com seu sistema operacional.
* Execute o instalador e siga as instruções para concluir a instalação.
## Utilização
Para utilizar o sistema
1 - Clone o repositório em sua máquina: git@github.com:ioott/cw.git
2 - Acesse o diretório do sistema: cd cw.git
3 - Crie um ambiente virtual e ative: python3 -m venv .venv && source .venv/bin/activate
4 - Instale as dependências do sistema: python3 -m pip install -r dev-requirements.txt
5 - Crie um arquivo .env na raiz e coloque as variáveis de configuração do banco de dados:
```
DB_HOST=
DB_USER=
DB_PASSWORD=
DB_NAME=
```
6 - Crie o banco de dados no MySQL. Para isso, execute o comando mysql -u username -p < create_database.sql no terminal, substituindo username pelo seu nome de usuário do MySQL e inserindo a senha quando solicitado
7 - Popule o banco: python3 utils/CSVLoader.py
8 - Execute a aplicação com python3 main.py
Funcionalidades
* Consulta de transações por ID de usuário:
O sistema irá verificar se o user_id informado consta em algum dos relatórios, e informará se é suspeito ou não.
* Relatórios:
O sistema gera relatórios com informações relevantes sobre as transações que tiveram chargeback.
Os relatórios disponíveis são:
- Valores altos
- Ocorridas entre 00:00h e 05:59h
- Mesmo usuário em um curto espaço de tempo
- Mesmo cartão em dispositivos diferentes
- Mesmo usuário com muitas transações
Ao escolher uma opção, o relatório correspondente será impresso em tela e exportado em formato CSV para a pasta exported_reports.
## Próximos passos
* Adicionar tratamento de erros
* Refatorar o código para adaptá-lo ao padrão Strategy, melhorando a legibilidade e organização
* Implementar testes automatizados para garantir a integridade da aplicação
* Integrar com outras fontes de dados além do CSV
* Utilizar a biblioteca Pandas para melhorar a apresentação dos dados
#
[Gravação de tela de 17-02-2023 16:19:38.webm](https://user-images.githubusercontent.com/98191041/219767707-288e7bf4-91d5-4789-a62e-1b715149679a.webm)
#
Este sistema foi desenvolvido por Vania Ioott.
Encontrou algum erro? Tem alguma sugestão? Faça contato!
#