RepoFinder é uma aplicação minimalista e responsiva para pesquisar repositórios de usuários no GitHub. Com um design elegante em modo escuro, a aplicação permite visualizar a lista de repositórios, total de repositórios e links diretos para o perfil do usuário no GitHub.
Esta aplicação full-stack foi desenvolvida utilizando Java, React e TypeScript, com integração à API do GitHub.
🚀 Tecnologias utilizadas: Java, Spring Boot, React, Vite, Tailwind CSS, TypeScript
- Campo de busca: Permite pesquisar usuários pelo nome de perfil no GitHub.
- Exibição de resultados: Mostra os repositórios, total de repositórios, nome do usuário e um link para o perfil no GitHub.
- Design responsivo: Layout ajustável para dispositivos móveis e desktops.
- Modo escuro: Experiência visual minimalista e moderna.
Ambiente | URL |
---|---|
Local | http://localhost:3000 |
Local | http://localhost:8080/github/user/${username} |
O projeto segue uma estrutura modular para fácil manutenção:
- components/: Componentes reutilizáveis da interface.
- pages/: Páginas da aplicação.
- client/: Arquivos de configuração dos clients da api.
- config/: Arquivo de configuração do CORS da api.
- services/: Integração com a API do GitHub.
- controller/: Arquivo de configuração das rotas da api.
- model/: Arquivos de definição das respostas das rotas da api.
Antes de começar, certifique-se de ter essas tecnologias instaladas:
- Git (link para download)
- Node.js (link para download)
- JDK (link para download)
-
Clone o repositório e entre no pasta do projeto:
git clone https://github.com/eugfl/repofinder.git cd repoofinder
-
Entre na pasta do back-end e abra com seu editor de código:
cd backend code .
-
Instale as dependências necessárias para o projeto funcionar:
mvn clean install
-
Execute o servidor da api:
./mvnw spring-boot:run
-
Abra outro shell e entre na pasta do front-end:
cd frontend
-
Instale as dependências necessárias para o projeto funcionar:
pnpm install
-
Execute a aplicação:
pnpm run dev
-
Abra no seu navegador e utilize:
http://localhost:3000
GET http://localhost:8080/github/user/${username}
{
"login": "eugfl",
"htmlUrl": "https://github.com/eugfl",
"repositories": [
{
"name": "repofinder",
"description": null,
"private": false,
"html_url": "https://github.com/eugfl/repofinder"
}
]
}
Gabriel Figueiredo de Lima |