A aplicação consiste em um sistema gerenciador de arquivos e operações de busca que permitem o mapeamento da ocorrência de termos em arquivos de texto. O projeto está dividido em dois módulos principais:
- Módulo de Gerenciamento de Arquivos: Responsável por anexar e gerenciar arquivos de texto no sistema.
- Módulo de Buscas: Responsável por realizar operações de busca nos arquivos anexados, encontrando termos específicos dentro dos documentos.
Este projeto não realiza análise semântica ou busca por sinônimos.
Neste projeto, foram exercitadas as seguintes habilidades:
- Manipulação de Pilhas;
- Manipulação de Deque;
- Manipulação de Nó & Listas Ligadas;
- Manipulação de Listas Duplamente Ligadas;
- Manipulação de arquivos
.txt.
O projeto segue a seguinte estrutura de diretórios e arquivos:
.
├── dev-requirements.txt # Requisitos de desenvolvimento
├── pyproject.toml # Configuração do projeto Python
├── README.md # Arquivo de documentação
├── requirements.txt # Requisitos de produção
├── setup.cfg # Configuração adicional de setup
├── setup.py # Script de instalação do projeto
├── statics # Diretório contendo arquivos de exemplo
│ ├── arquivo_teste.csv
│ ├── arquivo_teste.txt
│ ├── nome_pedro.txt
│ ├── novo_paradigma_globalizado-min.txt
│ └── novo_paradigma_globalizado.txt
├── tests # Diretório contendo os testes
│ ├── __init__.py
│ ├── test_file_management.py
│ ├── test_file_process.py
│ ├── test_queue.py
│ └── test_word_search.py
├── ting_file_management # Módulo de gerenciamento de arquivos
│ ├── file_management.py # Código principal de gerenciamento
│ ├── file_process.py # Processamento de arquivos
│ ├── __init__.py
│ └── queue.py # Implementação da fila (Queue)
├── ting_word_searches # Módulo de busca de palavras
│ ├── __init__.py
│ └── word_search.py # Funções de busca de termos
└── trybe.yml # Configurações do projeto Trybe
Antes de começar, certifique-se de ter o Python instalado em sua máquina. Para instalar as dependências do projeto, siga os passos abaixo:
-
Clone o repositório:
git clone [email protected]:SamuelRocha91/trybeIsNotGoogle.git
-
Acesse o diretório do projeto:
cd projeto-trybe-is-not-google -
Instale as dependências:
pip install -r requirements.txt
-
Para executar o projeto, utilize o comando:
python -m ting_file_management.file_management
Para rodar os testes, execute o seguinte comando:
pytestOs testes estão localizados no diretório tests e cobrem as funcionalidades principais de gerenciamento de arquivos, busca de palavras e manipulação de filas (queue).