O Star Wars Front-end trata-se de uma aplicação que exibe algumas informações a respeito dos 6 primeiros filmes do universo cinematográfico do Star Wars. A ideia foi criar um site, como portfólio, que consumisse as informações fornecidas pela API SWAPI e mostrasse essas de uma forma criativa e que fizesse referência a elementos existentes no mundo do Star Wars.
As informações exibidas na plataforma são fornecidas somente pela SWAPI. Sendo elas:
Filmes, Planetas, Naves, Espécies, Personagens e Veículos.
Com o intuito de fornecer uma experiência visual mais interessante para diversos tipos de perfis. Foram implementados 5 temas que fazem referências ao universo de Star Wars sendo eles:
Sith, Jedi, Império, Aliança, R2D2
Infelizmente a SWAPI não possui portabilidade para diferentes tipos de idiomas, desta forma foi feita somente a tradução dos campos definidos no front-end em dois idiomas: Inglês americano e em Português Brasileiro.
O projeto foi desenvolvido utilizando as ferramentas: ReactJs, Typescript, Vite, Recharts, Styled-components, React-router, I18next e React-spring.
- Instalar as dependências com:
npm install - Executar o projeto na porta 3000 com o comando:
npm run dev - Gerar a build do projeto:
npm run build
Você pode me contactar pelo Linkedin. Ou pode criar uma issue aqui no repositório :D
Para a adição de uma nova tradução, seguir os 4 passos:
- Dentro da pasta
locales, criar uma pasta cujo o nome deve ser o código da linguagem que pretende-se adicionar (Ex: pt-br, es-es, en-us), em letras minúsculas. Após a pasta ser criada, dentro da pasta criada, adicionar um arquivotranslation.json. Nesse será realizada a tradução dos termos do novo idioma ao qual a plataforma terá suporte. - Adicionar o código da linguagem (Ex: pt-br, es-es, en-us) na lista de
supportedLngs, no arquivoi18n.ts - Adicionar uma imagem .svg com a bandeira que representa o novo idioma na pasta
~/assets/icons/flags/. - No arquivo
~/utils/languages_icons.tsx, adicionar ao objetoLANGUAGES_ICONSa chave que é código da linguagem e como valor o .svg da bandeira adicionada no passo anterior.
Para a adição de uma nova variação de tema, seguir os passos asseguir:
- Criar um arquivo .ts, cujo o nome do arquivo é o nome do novo tema, dentro da pasta
~/styles/themes/. Devesse seguir o padrão definido no arquivo~/styles/styled.d.ts. - Adicionar uma imagem .svg com o ícone que representa o novo tema na pasta
~/assets/icons/themes/, de preferência no formato circular. - No arquivo
~/styles/themes/themes_dict.tsxadicionar como chave do objetoTHEMESo nome do novo tema, e como valor um objeto com duas chaves sendo elas style (objeto contendo o estilo do tema, definido no passo 1) e icon (ícone do tema definido no passo 2).





