{"id":26014568,"url":"https://github.com/brenonsc/desafioibge","last_synced_at":"2026-03-11T00:02:34.212Z","repository":{"id":202161390,"uuid":"707450110","full_name":"brenonsc/DesafioIBGE","owner":"brenonsc","description":"API criada para gerenciar dados de cidades e estados do Brasil, com recursos de autenticação e CRUD de localidades para o desafio do balta.io","archived":false,"fork":false,"pushed_at":"2023-10-22T23:14:03.000Z","size":172,"stargazers_count":10,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-06T02:36:24.366Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TSQL","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/brenonsc.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-10-19T23:42:57.000Z","updated_at":"2023-10-29T18:32:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"509b1b6f-dfb6-47f6-bb68-1d24a954a1da","html_url":"https://github.com/brenonsc/DesafioIBGE","commit_stats":null,"previous_names":["brenonsc/desafioibge"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/brenonsc/DesafioIBGE","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brenonsc%2FDesafioIBGE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brenonsc%2FDesafioIBGE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brenonsc%2FDesafioIBGE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brenonsc%2FDesafioIBGE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brenonsc","download_url":"https://codeload.github.com/brenonsc/DesafioIBGE/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brenonsc%2FDesafioIBGE/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30362707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"ssl_error","status_checked_at":"2026-03-10T21:40:59.357Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-03-06T02:31:52.484Z","updated_at":"2026-03-11T00:02:34.170Z","avatar_url":"https://github.com/brenonsc.png","language":"TSQL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DesafioIBGE :envelope::earth_americas:\n\nEste repositório contém a API que foi criada como parte do desafio para gerenciar dados de cidades e estados de todo o Brasil, baseada no conjunto de dados disponível no seguinte repositório: [ibge](https://github.com/andrebaltieri/ibge). A API foi desenvolvida com base no desafio proposto e possui as funcionalidades especificadas.\n\n\u003cbr\u003e\n\n## Funcionalidades da API :gear:\n\nA API desenvolvida contém as seguintes funcionalidades:\n\n### Autenticação e Autorização :closed_lock_with_key:\n- A API implementa um sistema de autenticação com token JWT para proteger as rotas da API. Os usuários podem se autenticar e receber um token JWT para acessar recursos protegidos.\n\n### Cadastro de E-mail e Senha :e-mail:\n- Os usuários podem se cadastrar na aplicação fornecendo um e-mail e senha.\n\n### Login (Token, JWT) :key:\n- Após o cadastro, os usuários podem fazer login para obter um token JWT, que é utilizado para autenticar nas rotas protegidas da API.\n\n### CRUD de Localidade :pushpin:\n- A API oferece operações CRUD para gerenciar localidades, incluindo a criação, leitura, atualização e exclusão de informações como código, estado e cidade.\n\n### Pesquisa por Cidade e por Estado :round_pushpin:\n- Os usuários podem realizar pesquisas de localidades com base no nome da cidade ou do estado.\n\n### Pesquisa por Código (IBGE) :earth_americas:\n- É possível pesquisar localidades com base no código IBGE correspondente.\n\n### Boas práticas da API :ballot_box_with_check:\n- A API segue boas práticas de desenvolvimento de APIs, como tratamento de erros, respostas consistentes, etc.\n\n### Versionamento :hash:\n- A API pode incluir versionamento, facilitando futuras atualizações sem quebrar a compatibilidade com as versões anteriores.\n\n### Padronização :warning:\n- O código da API segue convenções de nomenclatura e padronização, tornando-o legível e consistente.\n\n### Documentação (Swagger) :green_circle:\n- A API é documentada com o uso do Swagger, facilitando o uso e entendimento por parte dos desenvolvedores.\n\n\u003cbr\u003e\n\n## Classificação das Equipes \n\nA classificação da sua equipe (Júnior, Pleno ou Sênior) é determinada pelo integrante mais experiente. Com base nisso, seu grupo deve seguir as entregas correspondentes:\n\n### Júnior :baby:\n\n- Implementar todas as funcionalidades base\n- Usar .NET 7 ou superior\n- Arquitetura: MVC ou Minimal APIs com estrutura de projeto simples\n- Objetivo: Entregar uma API funcionando\n\n### Pleno :man:\n\n- Implementar todas as funcionalidades base\n- Usar .NET 7 ou superior\n- Arquitetura: Minimal APIs\n- Incluir Testes de Unidade\n- Objetivo: Entregar uma API funcionando, com boa arquitetura, organização, código limpo e testes de unidade.\n\n### Sênior :older_man:\n\n- Implementar todas as funcionalidades base\n- Usar .NET 7 ou superior\n- Arquitetura: Minimal APIs\n- Incluir Testes de Unidade\n- Implementar Funcionalidades Adicionais\n- Objetivo: Entregar uma API funcionando, com boa arquitetura, organização, código limpo, testes de unidade e funcionalidades adicionais.\n\n### Funcionalidades Adicionais (Sênior)\n\n- Importação de Dados: Criar um endpoint para importar os dados a partir deste arquivo Excel: [SQL INSERTS - API de localidades IBGE.xlsx](https://github.com/andrebaltieri/ibge/blob/main/SQL%20INSERTS%20-%20API%20de%20localidades%20IBGE.xlsx).\n- A API começará sem dados e os dados serão carregados via um endpoint que permita o upload do Excel.\n\n\u003cbr\u003e\n\n## Rodando o Projeto :arrow_forward:\n\nPara executar este projeto localmente, siga os passos abaixo:\n\n1. Clone este repositório em sua máquina:\n\n   ```bash\n   git clone https://github.com/brenonsc/DesafioIBGE.git\n   ```\n\n2. Abra o projeto em sua IDE favorita, como o Visual Studio ou Visual Studio Code.\n\n3. Execute o Docker Compose para configurar o ambiente. Na raiz do projeto, execute o seguinte comando:\n\n   ```\n   $ docker-compose up\n   ```\n\n4. Abra o arquivo `appsettings.json` no projeto e mude a variável de ambiente `\"Environment\":\"Start\"` para `\"DEV\"`. Isso configurará o ambiente para desenvolvimento.\n\n5. Agora você está pronto para rodar o projeto localmente. Certifique-se de que seu ambiente de desenvolvimento esteja configurado corretamente e execute a aplicação.\n\n6. Para explorar a API e suas funcionalidades, você pode usar a documentação disponível no Swagger. Acesse a documentação em `http://localhost:5000/swagger`.\n\n\u003cbr\u003e\n\n## Contribuidores :busts_in_silhouette:\n\n- [Breno Henrique](https://github.com/brenonsc)\n- [Anderson Alves](https://github.com/ander-alves)\n\n\u003cbr\u003e\n\n## Considerações Finais :checkered_flag:\n\nEste repositório contém a API completa desenvolvida como parte do desafio DesafioIBGE. A API oferece funcionalidades básicas e adicionais, seguindo as melhores práticas de desenvolvimento de software.\n\nDivirta-se explorando e utilizando a API! Se tiver alguma dúvida ou sugestão, sinta-se à vontade para entrar em contato com a equipe de desenvolvimento.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrenonsc%2Fdesafioibge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrenonsc%2Fdesafioibge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrenonsc%2Fdesafioibge/lists"}