{"id":23681851,"url":"https://github.com/vilhalva/tkinter-toolkit","last_synced_at":"2025-08-15T14:05:37.343Z","repository":{"id":244611109,"uuid":"815749587","full_name":"VILHALVA/TKINTER-TOOLKIT","owner":"VILHALVA","description":"👨‍🏫APLICAÇÃO COM CUSTOMTKINTER E JSON, QUE CONSOME A API DO GITHUB PARA OBTER INFORMAÇÕES ADICIONAIS SOBRE OS PACOTES LISTADOS NO ARQUIVO JSON DE BANCO DE DADOS.","archived":false,"fork":false,"pushed_at":"2024-06-16T03:21:45.000Z","size":710,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T20:09:26.627Z","etag":null,"topics":["api","aplicativo","codigo","customtkinter","database","framework","interface","json","projeto","python","search"],"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/VILHALVA.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":"2024-06-16T03:17:05.000Z","updated_at":"2024-07-31T16:37:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"950c26b1-89e7-4113-a884-0181e5ff6cd8","html_url":"https://github.com/VILHALVA/TKINTER-TOOLKIT","commit_stats":null,"previous_names":["vilhalva/tkinter-toolkit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/VILHALVA/TKINTER-TOOLKIT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VILHALVA%2FTKINTER-TOOLKIT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VILHALVA%2FTKINTER-TOOLKIT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VILHALVA%2FTKINTER-TOOLKIT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VILHALVA%2FTKINTER-TOOLKIT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VILHALVA","download_url":"https://codeload.github.com/VILHALVA/TKINTER-TOOLKIT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VILHALVA%2FTKINTER-TOOLKIT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270579613,"owners_count":24610044,"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","status":"online","status_checked_at":"2025-08-15T02:00:12.559Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["api","aplicativo","codigo","customtkinter","database","framework","interface","json","projeto","python","search"],"created_at":"2024-12-29T18:44:19.650Z","updated_at":"2025-08-15T14:05:37.330Z","avatar_url":"https://github.com/VILHALVA.png","language":"Python","readme":"# TKINTER TOOLKIT\r\n👨‍🏫APLICAÇÃO COM CUSTOMTKINTER E JSON, QUE CONSOME A API DO GITHUB PARA OBTER INFORMAÇÕES ADICIONAIS SOBRE OS PACOTES LISTADOS NO ARQUIVO JSON DE BANCO DE DADOS.\r\n\r\n\u003cimg src=\"./IMAGENS/FOTO_1.jpg\" align=\"center\" width=\"500\"\u003e \u003cbr\u003e\r\n\u003cimg src=\"./IMAGENS/FOTO_2.jpg\" align=\"center\" width=\"500\"\u003e \u003cbr\u003e\r\n\u003cimg src=\"./IMAGENS/FOTO_3.jpg\" align=\"center\" width=\"500\"\u003e \u003cbr\u003e\r\n\r\n## DESCRIÇÃO:\r\nO projeto \"Tkinter Toolkit\" é uma aplicação desenvolvida em Python usando a biblioteca CustomTkinter, que oferece uma interface gráfica para encontrar e explorar pacotes relacionados ao Tkinter e CustomTkinter. Ele busca informações de um banco de dados JSON e exibe detalhes de cada pacote, como descrição, autor, links relevantes e estatísticas do GitHub (como número de estrelas). Os usuários podem filtrar pacotes por tipo (pip, manual) e pesquisar por tags relacionadas aos pacotes.\r\n\r\n## FUNCIONALIDADES:\r\n1. **Interface Gráfica Amigável:**\r\n   - A aplicação utiliza CustomTkinter para uma interface gráfica atraente e responsiva.\r\n   - Inclui botões, entradas de texto, e elementos gráficos personalizados.\r\n\r\n2. **Pesquisa e Filtragem de Pacotes:**\r\n   - Os usuários podem pesquisar pacotes pelo nome ou por tags relacionadas usando a caixa de pesquisa.\r\n   - Filtragem por tipo de pacote (Todos, pip, manual) através de um botão de segmentação.\r\n\r\n3. **Visualização de Detalhes de Pacote:**\r\n   - Cada pacote listado exibe uma descrição, botão para instalação (com opção de atualização), e detalhes adicionais.\r\n   - Ao clicar em um pacote, uma janela detalhada é aberta mostrando uma imagem (se disponível), detalhes completos, autor, link do repositório, estatísticas do GitHub e recursos destacados.\r\n\r\n4. **Atualização de Banco de Dados:**\r\n   - A funcionalidade \"Update Database\" permite atualizar o banco de dados local com novos pacotes e informações.\r\n\r\n5. **Integração com GitHub:**\r\n   - A aplicação verifica o número de estrelas de um pacote no GitHub, para fornecer uma ideia da popularidade do projeto.\r\n\r\n## FUNCIONAMENTO DO CONSUMO DA API DO GITHUB:\r\nO aplicativo consome a API do GitHub para obter informações adicionais sobre os pacotes listados no arquivo JSON de banco de dados (`./CODIGO/assets/database.json`). A seguir, explico como isso é implementado com base nos dados fornecidos:\r\n\r\n1. **Objetivo:**\r\n   - O aplicativo utiliza a API do GitHub para obter informações dinâmicas sobre os repositórios dos pacotes listados.\r\n\r\n2. **Dados Necessários:**\r\n   - Cada entrada no arquivo JSON (`database.json`) contém informações básicas sobre um pacote, como nome, descrição, autor, URL do repositório, URL da imagem, entre outros detalhes relevantes.\r\n\r\n3. **Integração com a API do GitHub:**\r\n   - Quando um usuário interage com um pacote na interface (por exemplo, clicando para abrir detalhes), o aplicativo consulta a API do GitHub para obter informações atualizadas, como o número de estrelas (indicador de popularidade) e o avatar do proprietário do repositório.\r\n\r\n4. **Detalhes Técnicos:**\r\n   - O método `get_stars_and_avatar(name)` é responsável por realizar a consulta à API do GitHub. Ele recebe o nome do pacote como parâmetro.\r\n   - Utiliza a URL do repositório fornecida no JSON para construir a requisição à API do GitHub.\r\n   - Extrai os dados relevantes da resposta JSON, como o número de estrelas (`stargazers_count`) e a URL do avatar do proprietário do repositório (`owner/avatar_url`).\r\n\r\n5. **Atualizações Dinâmicas na Interface:**\r\n   - As informações obtidas da API do GitHub são exibidas dinamicamente na interface do usuário quando disponíveis.\r\n   - Isso inclui a exibição do número de estrelas ao lado do link do repositório e a exibição do avatar do proprietário do repositório.\r\n\r\n### EXEMPLO DE IMPLEMENTAÇÃO:\r\nSuponha que o aplicativo esteja exibindo informações para o pacote `CTkTable` com base nos dados fornecidos:\r\n\r\n- **Nome do Pacote:** `CTkTable`\r\n- **URL do Repositório:** `https://github.com/Akascape/CTkTable`\r\n\r\nAo abrir os detalhes deste pacote no aplicativo, o método `get_stars_and_avatar(\"CTkTable\")` fará uma requisição à API do GitHub para obter informações como o número de estrelas e a URL do avatar do autor do repositório. Esses dados serão então exibidos na janela de detalhes do pacote, fornecendo uma visão mais completa e atualizada para o usuário.\r\n\r\nEssa integração permite que o aplicativo ofereça uma experiência mais informativa e atualizada aos usuários, incorporando dados dinâmicos diretamente de uma fonte confiável como a API do GitHub.\r\n\r\n## EXECUTANDO ESSE PROJETO:\r\n1. **Pré-requisitos:**\r\n   - Certifique-se de ter Python 3.7 ou superior instalado.\r\n   - Instale as dependências necessárias utilizando o comando abaixo:\r\n     ```bash\r\n     pip install -r requirements.txt\r\n     ```\r\n\r\n2. **Execução do Aplicativo:**\r\n   - Para executar o arquivo Python, utilize o comando abaixo no terminal, dentro do diretório `./CODIGO`:\r\n   ```bash\r\n   python CODIGO.py\r\n   ```\r\n\r\n3. **Interagindo com a Aplicação:**\r\n   - Após iniciar, a janela principal do \"Tkinter Toolkit\" será exibida.\r\n   - Use a caixa de pesquisa para procurar por pacotes digitando o nome ou tag relacionada.\r\n   - Use o botão de segmentação para filtrar pacotes por tipo (Todos, pip, manual).\r\n   - Clique no botão de informações (ícone \"i\") para abrir uma janela com informações sobre o aplicativo.\r\n\r\n4. **Explorando Detalhes de Pacotes:**\r\n   - Clique em qualquer pacote listado para abrir uma janela detalhada com informações completas, incluindo imagem, descrição, autor, link do repositório, estrelas do GitHub e recursos destacados.\r\n\r\n5. **Atualizando o Banco de Dados:**\r\n   - Dentro da janela de informações (\"About\"), clique em \"Update Database\" para verificar e baixar novos pacotes disponíveis no banco de dados.\r\n\r\n6. **Finalizando o Aplicativo:**\r\n   - Feche a janela principal para encerrar a execução do aplicativo.\r\n\r\n## NÃO SABE?\r\n- Entendemos que para manipular arquivos em muitas linguagens, é necessário possuir conhecimento nessas áreas. Para auxiliar nesse aprendizado, oferecemos cursos gratuitos disponíveis:\r\n* [CURSO DE PYTHON](https://github.com/VILHALVA/CURSO-DE-PYTHON)\r\n* [CURSO DE CUSTOMTKINTER](https://github.com/VILHALVA/CURSO-DE-CUSTOMTKINTER)\r\n* [CURSO DE JSON](https://github.com/VILHALVA/CURSO-DE-JSON)\r\n* [CONFIRA MAIS CURSOS](https://github.com/VILHALVA?tab=repositories\u0026q=+topic:CURSO)\r\n\r\n## CREDITOS:\r\n- [PROJETO CRIADO PELO \"AKASCAPE\"](https://github.com/Akascape/tkinter-toolkit)\r\n- [PROJETO EDITADO PELO VILHALVA](https://github.com/VILHALVA)\r\n\r\n\r\n\r\n\r\n\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvilhalva%2Ftkinter-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvilhalva%2Ftkinter-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvilhalva%2Ftkinter-toolkit/lists"}