{"id":24665862,"url":"https://github.com/rafaelmoraes003/trybe-is-not-google","last_synced_at":"2025-06-13T08:07:31.630Z","repository":{"id":132548349,"uuid":"597943632","full_name":"rafaelmoraes003/trybe-is-not-google","owner":"rafaelmoraes003","description":"Program that simulates a document indexing algorithm similar to Google's, being able to identify occurrences of terms in TXT files.","archived":false,"fork":false,"pushed_at":"2023-02-06T19:28:29.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T10:52:45.628Z","etag":null,"topics":["algorithms","data-structures","pytest","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rafaelmoraes003.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-06T03:33:16.000Z","updated_at":"2023-02-06T17:33:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"b9c5c0c9-7a5e-4707-ab82-bbfe1507ae9c","html_url":"https://github.com/rafaelmoraes003/trybe-is-not-google","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelmoraes003%2Ftrybe-is-not-google","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelmoraes003%2Ftrybe-is-not-google/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelmoraes003%2Ftrybe-is-not-google/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelmoraes003%2Ftrybe-is-not-google/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rafaelmoraes003","download_url":"https://codeload.github.com/rafaelmoraes003/trybe-is-not-google/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelmoraes003%2Ftrybe-is-not-google/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":257311013,"owners_count":22525682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","data-structures","pytest","python"],"created_at":"2025-01-26T07:13:56.240Z","updated_at":"2025-06-13T08:07:31.623Z","avatar_url":"https://github.com/rafaelmoraes003.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"left\"\u003eTrybe Is Not Google (TING)\u003c/h1\u003e\n\n###\n\n\u003cp align=\"left\"\u003eIn this project, a program was implemented to simulate a document indexing algorithm similar to Google's. The program is able to identify occurrences of terms in TXT files.\u003c/p\u003e\n\n###\n\n\u003ch2 align=\"left\"\u003eTechnologies used\u003c/h2\u003e\n\n###\n\n\u003cdiv align=\"left\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/python/python-original.svg\" height=\"50\" width=\"62\" alt=\"python logo\"  /\u003e\n\u003c/div\u003e\n\n###\n\n\u003ch2 align=\"left\"\u003eHow to use the application\u003c/h2\u003e\n\n###\n\nClone the application using the git clone command. After that, enter the project folder using the command `cd trybe-is-not-google`.\n\n###\n\n\u003ch2 align=\"left\"\u003eHow to run the application\u003c/h2\u003e\n\n###\n\n1. Create the virtual environment for the project\n - `python3 -m venv .venv \u0026\u0026 source .venv/bin/activate`\n \n2. Install the dependencies\n- `python3 -m pip install -r dev-requirements.txt`\n\n###\n\n\u003ch2 align=\"left\"\u003eUsing the indexing tool\u003c/h2\u003e\n\nUse the `python3 -m ting_word_searches.word_search` command to be able to use the tool.\n\n\u003ch3 align=\"left\"\u003eExplanation\u003c/h3\u003e\n\nThe process function is responsible for adding data from files in the queue (this function takes as arguments `the path of the file with the data` and an `instance of the Queue class`.\n\nAfter the class instance has passed the `process` function, it can be used in the search tool.\n\nThe `exists_word` and `search_by_word` functions take two arguments: `the word to be searched for` and an `instance of the Queue class`.\n\nThe return of the `exists_word(\"sistema\", queue_instance)` function is something like:\n\n```Python\n[\n  {\n    \"palavra\": \"sistema\",\n    \"arquivo\": \"statics/new_globalized_paradigm-min.txt\",\n    \"ocorrencias\": [\n        {\"linha\": 12},\n        {\"linha\": 18}\n     ],\n  },\n]\n```\n\nSimilarly, the return of the `search_by_word(\"sistema\", queue_instance)` function is something like:\n\n```Python\n[\n  {\n    \"palavra\": \"sistema\", \n    \"arquivo\": \"statics/novo_paradigma_globalizado-min.txt\", \n    \"ocorrencias\": [\n        {\n          \"linha\": 12, \n          \"conteudo\": \"Neste sentido [...] do sistema [...]\",\n        }, \n        {\n          \"linha\": 18, \n          \"conteudo\": \"No mundo atual, [...] estabelecimento do sistema [...]\",\n        },\n    ],\n  },\n]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelmoraes003%2Ftrybe-is-not-google","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafaelmoraes003%2Ftrybe-is-not-google","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelmoraes003%2Ftrybe-is-not-google/lists"}