Repositório destinado aos interessados em participar do processo seletivo da SHARENERGY 2022/01. As vagas são voltadas para desenvolvimento de aplicações Web e Mobile.
No ramo da produção de energia fotovoltaica, há a modalidade de produção compartilhada. Nessa modalidade, diferentes pessoas investem na construção de uma mesma usina fotovoltaica e dividem o retorno finaceiro referente à energia gerada pela usina.
Acreditamos que as energias renováveis terão um lugar dominante em nossa economia pelo resto de nossas vidas. Trabalhamos no sentido de ampliar o impacto positivo que as energias renováveis podem ter no meio ambiente e nas nossas vidas. O sucesso da SHARENERGY é resultado de nossa equipe apaixonada, juntamente com nosso compromisso de oferecer a melhor solução.
Sabemos que negócios enfrentam desafios únicos e por isso oferecemos soluções turnkey, customizadas, economicamente viáveis e seguras.
A Startup figura entre as top 10 EnergyTechs do ranking 100 Open Startups desde 2018. Prova de que a inovação está enraizada em nossa cultura. Somos uma startup em estágio de crescimento e você trabalhará diretamente com os fundadores, ajudando a definir a visão, o produto e a experiência do usuário.
Já pensou em potencializar o setor que mais cresce na galáxia e trabalhar com uma solução que utiliza tecnologia web de ponta, altamente distribuída com foco em performance e disponibilidade? 👀
Os desenvolvedores da Sharenergy são responsáveis por criar e manter aplicações para clientes internos e externos, prover soluções escaláveis, resilientes e altamente disponíveis que sustentem picos de acesso além de atuar como referência técnica e tutores de outros desenvolvedores.
Procuramos por pessoas dinâmicas e que queiram estar aprendendo sempre. Nossa equipe é jovem, motivada e estamos sempre em busca de soluções criativas para alcançar os resultados que nossos clientes esperam. Se você tem esse perfil, é autoconfiante, autodidata e tem facilidade para lidar com desafios diários, essa vaga é para você!
Construir aplicação web ou mobile capaz de requisitar e obter dados do Spaceflight News API a fim de mostrá-los para o usuário final. Deve-se utilizar ReactJS
ou React Native
, utilizando React Router DOM
ou React Router Native
para as rotas, além de apresentar uma interface amigável, bonita e limpa, na qual o usuário possa navegar através de botões.
- A tela inicial deve exibir em uma lista (ou tabela) os
articles
mais recentes, exibindotitle
epublishedAt
. - A tela inicial deve conter botões para paginar os
articles
. - A tela inicial deve conter um select que permita ao usuário configurar o tamanho da lista, de forma a listar 10 (padrão), 25, 50 ou 100
articles
por vez. - A tela inicial deve conter um input para pesquisa por texto do
title
, utilizando endpointhttps://api.spaceflightnewsapi.net/v3/articles?title_contains=TEXTO
, incluindo "texto com espaços e outros caracteres especiais". - A tela inicial deve permitir ao usuário a pesquisa de artigos por data de publicação entre duas datas (inicial e final).
- Ao clicar em um elemento da lista, a aplicação deve navegar para uma página que exiba todos os detalhes do
article
, e também a imagem deste. - A página de detalhes de
article
deve conter botões para navegar para o próximo e para o anterior (ordenados porid
, notando que é possível haver saltos no número do id.
- Responsividade
- Clean Code
A aplicação criada para o desafio pode ser aprimorada com recursos pensados por você. A seguir, foram listadas algumas sugestões do que poderia ser feito:
- Fazer o projeto em
React Native
, ou ambos (React
eReact Native
) - Utilizar
Material-UI
ouMUI
para a aplicação web; ouReact Native Paper
para a aplicação mobile - Typescript
- Testes
- Documentação
Com exceção do ReactJS, React Native e React Router, não será especificado um conjunto de ferramentas específico que pode ser usado. Não obstante, será considerado como um diferencial caso você adote as mesmas ferramentas com as quais nós trabalhamos.
- Javascript e Typescript
- Front-end: ReactJS (web) e React Native (mobile) com react-router, react-router-dom e react-router-native para roteamento
- Back-end: Node.js e Go
- Banco de dados: MongoDB do lado do servidor e Minimongo do lado do cliente (cache)
- Validação de dados: Schema-utils
- Gerenciamento de Containers: Docker
- Gerenciamento de Repositórios: NX
- Gráficos: Recharts
- UI: CSS 3, Material-UI, MUI, react-native-paper e Reflexbox
- Sistema Operacional (principal): Linux, também sendo possível utilizar o Windows Subsystem for Linux (WSL)
Esperamos de você duas entregas: o código no GitHub e um vídeo explicativo no YouTube.
- Faça um fork desse repositório.
- Em seguida, crie uma branch, cujo nome é o seu nome completo, no seguinte formato: meu-nome-completo.
- Resolva o desafio realizando versionamento local e remoto. Fique à vontade em criar outras branches durante o desenvolvimento do código.
- Inclua no README.md uma breve instrução de instalação e de execução da aplicação criada.
- Faça um vídeo que explique o que você fez no desafio, com duração aproximada de 5 minutos. A facecam é opcional, mas bem-vinda. O vídeo deve ser postado no YouTube (pode deixar como não listado) e seu link deve ser colocado no README.md.
- Ao finalizar o desafio, faça um pull request de sua branch para esse repositório.
O pull request com sua solução do desafio deve ser feito até a data especificada no corpo do email que você recebeu com a descrição do desafio.