Project Description • Learning • Requirements • Stacks • How to run the application
Descrição do Projeto • Aprendizado • Requisitos • Tecnologias Utilizadas • Rodar a Aplicação
I completed this BackEnd project during my learning period at Trybe, where I developed a program that simulates a document indexing algorithm similar to Google's. The program can identify occurrences of terms in TXT files.
The program has the following modules
- A file management module that allows attaching text files (TXT format)
- A search module that enables search functions to operate on the attached files
- Manipulating Stacks
- Manipulating Deques
- Manipulating Nodes & Linked Lists
- Manipulating Doubly Linked Lists
- ✅ Implement a queue to store the files to be read
- ✅ Implement a
txt_importerfunction within thefile_managementmodule that imports news from aTXT file, using"\n"as a separator. - ✅ Implement the
processfunction in thefile_processmodule. This function transforms the list generated by thetxt_importerfunction into a dictionary that will be stored in theQueue. - ✅ Implement a
removefunction within thefile_processmodule that can remove the first processed file. - ✅ Implement a
file_metadatafunction within thefile_processmodule that can present superficial information about a processed file. - ✅ Implement an
exists_wordfunction within theword_searchmodule, which checks for the existence of a word in all processed files. - ❌ Implement a
search_by_wordfunction within theword_searchmodule, which searches for a word in all processed files.
Note: In some projects, some requirements were not completed due to the accelerated dynamics of the course, not because I didn't know how to do them. At the time, I just needed a little more time.
I still haven't decided if it's better to leave it this way to demonstrate my progress during my learning or if it would be better to complete the requirements that were missing in the course projects.
Feedback is welcome.
- Python
- Clone the repository:
git clone git@github.com:tryber/sd-019-c-project-ting.git - Navigate to the project folder:
cd project-ting - Create and activate the virtual environment:
python3 -m venv .venv && source .venv/bin/activate - Install dependencies:
python3 -m pip install -r dev-requirements.txt - In the terminal, run the commands below:
python3 ting_word_searches/word_search.py - After typing the word or letter to be searched, provide the path to the file.
Below are the possible paths (choose one at a time) considering the files that already exist, but you can add your own files or direct the search to another folder (pay attention to the path format):
./statics/arquivo_teste.txt
./statics/nome_pedro.txt
./statics/novo_paradigma_globalizado-min.txt
./statics/novo_paradigma_globalizado.txt
Note: If you have any difficulties with the instructions and would like to give feedback, send me a message
Fiz este projeto BackEnd durante meu período de aprendizagem na Trybe onde desenvolvi um programa que simula um algoritmo de indexação de documentos similar ao do Google. O programa é capaz de identificar ocorrências de termos em arquivos TXT.
O programa tem módulos:
- de gerenciamento de arquivos que permite anexar arquivos de texto (formato TXT)
- de buscas que permite operar funções de busca sobre os arquivos anexados
- Manipular Pilhas
- Manipular Deques
- Manipular Nó & Listas Ligadas
- Manipular Listas Duplamente Ligadas
- ✅ Implementar uma fila para armazenar os arquivos que serão lidos
- ✅ Implementar uma função
txt_importerdentro do módulofile_managementcapaz de importar notícias a partir de umarquivo TXT, utilizando"\n"como separador. - ✅ Implementar a função
processno módulofile_process. Essa função é capaz de transformar o conteúdo da lista gerada pela funçãotxt_importerem um dicionário que será armazenado dentro daQueue. - ✅ Implementar uma função
removedentro do módulofile_processque é capaz de remover o primeiro arquivo processado - ✅ Implementar uma função
file_metadatadentro do módulofile_processque é capaz de apresentar as informações superficiais de um arquivo processado. - ✅ Implementar uma função
exists_word, dentro do móduloword_search, que verifica a existência de uma palavra em todos os arquivos processados. - ❌ Implementar uma função
search_by_worddentro do móduloword_search, que busca uma palavra em todos os arquivos processados.
OBS: Em alguns projetos alguns requisitos não foram feitos devido a dinâmica acelerada do curso e não por eu não saber como fazê-los. Na época eu apenas precisaria de um pouco mais de tempo.
Ainda não decidi se é melhor deixar desta forma para demonstrar o meu progresso durante meu aprendizado ou se seria melhor completar os requisitos que ficaram faltando nos projetos do curso.
Feedbacks são bem vindos.
- Python
- Clone o repositório:
git clone git@github.com:tryber/sd-019-c-project-ting.git - Acesse a pasta do projeto:
cd project-ting - Crie e habilite o ambiente virtual:
python3 -m venv .venv && source .venv/bin/activate - Instale as dependências:
python3 -m pip install -r dev-requirements.txt - No terminal execute os comandos abaixo:
python3 ting_word_searches/word_search.py - Após digitar a palavra ou letra que será buscada, coloque o caminho para onde está o arquivo.
Abaixo os caminhos possíveis (escolha um de cada vez) considerando os arquivos que já existem, mas você pode adicionar seus próprios arquivos ou direcionar para outra pasta que desejar (fique atento ao formato do caminho):
./statics/arquivo_teste.txt
./statics/nome_pedro.txt
./statics/novo_paradigma_globalizado-min.txt
./statics/novo_paradigma_globalizado.txt
OBS: Se tiver alguma dificuldade com as instruções e quiser dar um feedback me mande uma mensagem

