Este projeto é um aplicativo da web baseado em React que apresenta uma galeria de imagens relacionadas ao espaço com recursos de filtragem e pesquisa.
- Layout
- Descrição
- Tecnologias Utilizadas
- Estrutura de Pastas
- Como Instalar e Rodar o Projeto
- Projeto ao vivo
- Licença
- Autor
Este projeto é um aplicativo da web baseado em React que apresenta uma galeria de imagens relacionadas ao espaço com recursos de filtragem e pesquisa.
O aplicativo Space Gallery React foi projetado para fornecer aos usuários uma maneira interativa e visualmente atraente de explorar uma coleção de imagens com tema espacial. Ele apresenta um layout responsivo com navegação na barra lateral, funcionalidade de pesquisa e uma área de galeria principal que exibe imagens populares e filtradas.
Os principais recursos do aplicativo incluem:
- Um layout responsivo com uma barra lateral para facilitar a navegação
- Um campo de pesquisa para encontrar imagens específicas
- Uma galeria principal apresentando imagens relacionadas ao espaço
- Uma seção de galeria popular destacando as imagens em destaque
- Filtragem baseada em tags para categorizar e classificar imagens
- Estilo global para aparência consistente em todo o aplicativo
-
React com Javascript
- Biblioteca principal para construção da interface
- Utilização de Hooks (useState, useEffect) para gerenciamento de estado
- Componentes funcionais com props para reusabilidade
- Context API para gerenciamento de estado global
-
Styled Components
- Estilização baseada em componentes
- Temas dinâmicos e estilos globais
- CSS-in-JS com suporte a props
- Estilização condicional baseada em estados
-
Vite
- Bundler e dev server com Hot Module Replacement (HMR)
- Configuração zero para início rápido
- Otimização de build para produção
- Suporte nativo a ESModules
-
ESLint
- Configuração personalizada para React
- Plugins para hooks e refresh
- Regras de estilo consistentes
- Integração com editor de código
-
LocalStorage API
- Persistência de dados do usuário
- Armazenamento de favoritos
- Cache de configurações
- Gerenciamento de estado offline
src/
├── components/
│ ├── Banner/
│ ├── Footer/
│ ├── Galleries/
│ ├── GlobalStyles/
│ ├── Header/
│ ├── SearchField/
│ ├── Sidebar/
│ ├── Title/
│ └── ZoomModal/
├── utils/
│ └── galleryUtils.jsx
├── App.jsx
└── main.jsx
src/App.jsx: Componente principal da aplicaçãosrc/main.jsx: Ponto de entrada da aplicaçãosrc/components/: Pasta contendo todos os componentes reutilizáveissrc/utils/: Utilitários e funções auxiliares
- Node.js (versão 14 or superior)
- npm (normalmente vem com o Node.js)
Para instalar as dependências do projeto, rode o seguinte comando no diretório raiz:
npm installO projeto usa Vite como ferramenta de construção. Você pode modificar a configuração do Vite em vite.config.js se necessário. Por exemplo, para alterar a porta do servidor de desenvolvimento:
export default defineConfig({
plugins: [react()],
server: {
port: 3000,
},
});Rode o comando abaixo para iniciar o servidor de desenvolvimento:
npm run devIsso iniciará o servidor de desenvolvimento Vite e você poderá visualizar o aplicativo navegando até http://localhost:5173 (ou a porta que você alterou no arquivo de configurações do Vite) em seu navegador.
-
Gerenciamento de Favoritos:
- Clique no ícone de coração para marcar/desmarcar uma imagem como favorita
- Os favoritos são automaticamente salvos no localStorage
- Os favoritos persistem entre sessões do navegador
- Visualize o status de favorito ao recarregar a página
-
Visualização de Imagens:
- Clique na imagem para abrir em tamanho maior em um modal
- Navegue entre imagens usando as setas do teclado
- Feche o modal com a tecla ESC ou clicando fora da imagem
-
Filtragem e Busca:
- Use as tags para filtrar imagens por categoria
- Digite no campo de busca para encontrar imagens específicas
- Combine filtros de tag com busca textual
- As preferências de filtro são mantidas durante a sessão
- Erro: "Não é possível encontrar o módulo 'styled-components'"
- Solução: Certifique-se de ter instalado as dependências com
npm install. Se o problema persistir, tente remover a pastanode_modulesepackage-lock.jsone executenpm installnovamente.
- Erro: "Favoritos desaparecem ao recarregar a página"
- Solução:
- Verifique se o localStorage está habilitado no navegador
- Limpe o cache do navegador
- Verifique se há espaço disponível no localStorage
- Use o console do navegador para verificar erros de localStorage
- Use a extensão React Developer Tools para inspecionar o estado dos componentes
- Verifique o localStorage no console do navegador com:
localStorage.getItem('favorites')
- Para problemas de componentes React, use a extensão do navegador React Developer Tools
- Para permitir um registro mais detalhado, você pode adicionar instruções
console.logem seus componentes ou usar as ferramentas de desenvolvedor do navegador para definir pontos de interrupção
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
- GitHub - Melksedeque Silva
- FrontEndMentor - @Melksedeque
- Twitter / X - @SouzaMelk
- LinkedIn - Melksedeque Silva
