Desenvolvido por Maurício
(ノ#-_-)ノ ミ┴┴
O projeto é uma vitrine das minhas habilidades técnicas como desenvolvedor web, contendo três projetos distintos em uma pequena plataforma interativa e acessível. Desenvolvido com React e Tailwind CSS, este website reflete meu aprendizado e domínio dessas ferramentas, com ênfase especial em React.
Demonstra a capacidade de filtrar e organizar de forma básica dados provenientes da API gratuita DummyJSON. O objetivo foi criar uma interface que permite aos usuários gerenciar e visualizar dados em uma tabela.
Permite aos usuários gerenciar e visualizar álbuns de fotos. A aplicação apresenta um carrossel de fotos e um botão para adicionar novas galerias à direita. Os usuários podem criar, visualizar e gerenciar galerias (albums), fazendo upload de fotos, expandindo imagens para visualização em tela cheia e deletando fotos ou galerias. Além disso, oferece interações como arrastar e soltar imagens e adicionar imagens via URLs.
Exibe informações detalhadas sobre a data, hora, e localização do usuário, além de fornecer múltiplos fusos horários ao redor do mundo e barras de progresso diário e anual.
-
Cada página de cada projeto contêm um menu lateral de navegação podendo ser minimizado ou maximizado;
-
Altere entre os temas claro e escuro;
-
Links dos projetos, com cada caixa contendo um link que leva diretamente ao projeto correspondente.
-
Configuração de Parâmetros:
-
Organizar: Permite ao usuário definir a coluna para ordenação e ordernar os valores entre crescente ou decrescente.
-
Filtro: Define critérios de filtragem. Selecione a coluna e um filtro de status com opções "é" ou "não é", além de uma barra de busca dependendo da coluna selecionada.
-
-
Indicador de Resultados:
- Exibe a quantidade de resultados filtrados na tabela, atualizando dinamicamente conforme os parâmetros de filtragem são aplicados.
-
Configurações:
-
Permite a criação de novos álbuns;
-
Cada álbum possui seu próprio estado, incluindo título e imagens;
-
Detecta cliques fora dos modais e fecha-os;
-
Permite o upload de multiplas imagens;
-
Suporta a inserção de URLs para importar imagens, com validação para garantir URLs válidas (somente imagens);
-
Implementa a funcionalidade de arrastar e soltar imagens, com validação para garantir que as imagens carregadas sejam aceitáveis;
-
-
Modo Edição:
-
Permite adicionar o álbum à visualização principal.
-
Deletar Album: Deleta o álbum, com confirmação antes de excluir;
-
Salvar Album: Salva as alterações conforme suas modificações dentro do album;
-
Deletar Imagem: Exibe um botão "Deletar" ao passar o mouse sobre a imagem, com confirmação antes da exclusão;
-
Expandir Imagem: Exibe um botão "Expandir" ao passar o mouse sobre a imagem;
-
Redirecionamento: Após cada ação de criar/salvar/deletar, redireciona para a visualização principal.
-
-
Carrossel:
-
Navegação: Permite a navegação entre próximo e anterior de imagens do album principal.
-
Apresentação Dinâmica: Implementa uma apresentação automática das imagens do album principal;
-
Expansão de Imagens: Permite a visualização em tela cheia entre cada imagem do album principal, com botões para fechar e navegar entre as imagens expandidas. Ao entrar na expansão de imagens do album principal, para a apresentação dinâmica.
-
-
Determina a hora com base na "localização" do usuário (get.geojs.io/v1/ip/geo/<ip>) obtida pelo endereço IP.
-
Fuso Horário Atual: Exibe a hora atual com base no fuso horário do usuário.
-
Exibe Data Atual:
-
Dia da Semana: Mostra o dia da semana (ex.: Segunda-feira).
-
Data Completa: Exibe a data no formato dd / mmmm / yyyy.
-
Número da Semana: Mostra o número da semana atual no ano (ex.: 26ª semana).
-
Texto de Saudação: Mostra uma saudação personalizada de acordo com a hora do dia (ex.: "Bom Dia" ou "Boa Noite").
-
-
Exibe a Localização do Usuário: Cidade, Estado/Região e País
-
Exibe a hora em várias cidades ao redor do mundo
-
Porcentagem do Dia: Mostra uma barra que representa a porcentagem do dia que já passou.
-
Porcentagem do Ano Decorrido: Adiciona uma barra que exibe a porcentagem do ano que já passou.
- React: Para construção da interface do usuário.
- TypeScript: Para segurança de tipos e melhor experiência de desenvolvimento.
- Tailwind CSS: Para estilização da aplicação.
- Vite: Para desenvolvimento rápido e ferramenta de build.
- React Router: Para navegação entre diferentes visualizações e useSearchParams() para gerenciar parâmetros de consulta na URL.
- tailwind-merge: Para evitar duplicação de classes utilizando Tailwind CSS
- Font Awesome: Ícones.
Obrigado pela atenção.