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.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.


Languages

Language:Python 100.0%