Skip to content

Latest commit

 

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aplicação para Análise de Transações com Cartão

SobreTecnologiasInstalaçãoUtilizaçãoPró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=<host do banco de dados>
DB_USER=<usuário do banco de dados>
DB_PASSWORD=<senha do usuário do banco de dados>
DB_NAME=<nome do banco de dados>

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


Gravacao.de.tela.de.17-02-2023.16.19.38.webm

Este sistema foi desenvolvido por Vania Ioott.
Encontrou algum erro? Tem alguma sugestão? Faça contato!

About

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.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages