Sobre • Tecnologias • Instalação • Utilização • Próximos Passos
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.
O sistema foi desenvolvido utilizando as seguintes tecnologias:
- Python
- MySQL
Para utilizar o sistema, é necessário instalar o Python e o MySQL em sua máquina.
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.
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.
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.
- 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!