[TESTE] Renato Marinho - Desenvolvedor Frontend#5
Open
renatomarinhofr wants to merge 26 commits intosizebay:mainfrom
Open
[TESTE] Renato Marinho - Desenvolvedor Frontend#5renatomarinhofr wants to merge 26 commits intosizebay:mainfrom
renatomarinhofr wants to merge 26 commits intosizebay:mainfrom
Conversation
- Add fixed height (h-48) to repository cards for uniform layout - Implement text truncation with ellipsis for descriptions (2 lines max) - Add style prop support to Text component for CSS customization - Remove all console.log statements from authentication flow - Fix TypeScript errors in NextAuth callbacks and useGitHubAuth hook - Add fallback GitHub token for unauthenticated requests - Improve code maintainability and production readiness
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GitHub Explorer
Desktop.2025.08.13.-.10.10.52.02.mp4
📋 Índice
🎯 Visão Geral
O GitHub Explorer é uma aplicação web desenvolvida em Next.js que permite explorar repositórios e perfis do GitHub de forma intuitiva. A aplicação oferece autenticação via GitHub OAuth, busca de usuários, visualização de repositórios e detalhes completos de cada projeto.
Funcionalidades Principais
🛠 Tecnologias Utilizadas
Frontend
Autenticação
Estado e Cache
Testes
Desenvolvimento
⚙️ Configuração do Ambiente
Pré-requisitos
🔐 Variáveis de Ambiente
Crie um arquivo
.env.localna raiz do projeto com as seguintes variáveis:2. Entre na branch feature/renato-marinho
git checkout feature/renato-marinho cd github-explorer3. Instale as dependências
3. Configure as variáveis de ambiente
crie o arquivo .env.local # Edite o arquivo .env.local com as credenciais descritas acima4. Execute o projeto
5. Acesse a aplicação
Abra http://localhost:3000 no seu navegador.
🏗 Arquitetura do Projeto
O projeto segue uma arquitetura baseada em Atomic Design e Clean Architecture:
Camadas da Aplicação
Presentation Layer (Componentes)
Business Logic Layer (Hooks)
Data Layer (Services)
Infrastructure Layer
Padrões Utilizados
📁 Estrutura de Pastas
🧩 Componentes
Atoms (Componentes Básicos)
ButtonTextAvatarMolecules (Componentes Compostos)
SearchFormRepositoryCardUserCardOrganisms (Seções Complexas)
HeaderRepositoryGridTemplates (Layouts de Página)
HomeTemplate🎣 Hooks Customizados
useGitHubAuthGerencia autenticação com GitHub OAuth.
Funcionalidades:
useGitHubRepositoriesBusca repositórios de um usuário.
Funcionalidades:
useUserDetailsBusca detalhes de um usuário.
Funcionalidades:
useRepositoryDetailsBusca detalhes de um repositório específico.
Funcionalidades:
🔧 Serviços
GitHubApiServiceServiço principal para comunicação com a API do GitHub.
Funcionalidades:
📝 Tipos TypeScript
Principais Interfaces
RepositoryGitHubUserRepositoryDetails🧪 Testes
Estrutura de Testes
Tipos de Testes
1. Testes Unitários
2. Testes de Integração
Configuração de Testes
jest.config.jsExecutando Testes
Cobertura de Testes
O projeto mantém alta cobertura de testes:
📜 Scripts Disponíveis
{ "scripts": { "dev": "next dev --turbopack", "build": "next build", "start": "next start", "lint": "next lint", "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage" } }Descrição dos Scripts
dev: Inicia servidor de desenvolvimento com Turbopackbuild: Gera build de produçãostart: Inicia servidor de produçãolint: Executa ESLint para verificar códigotest: Executa todos os testestest:watch: Executa testes em modo watchtest:coverage: Gera relatório de cobertura