LBCA | Helpinho

Projeto fictício! Seu código será usado apenas para avaliação, em hipótese alguma o usaremos internamente.

Helpinho é uma plataforma onde pessoas podem ajudar e pedir ajuda. Você pode se cadastrar e criar o seu helpinho, onde outras pessoas lhe darão todo o apoio que precisar.

Você deve criar uma plataforma simples, sendo possível cadastrar-se, fazer login, criar um helpinho, ver todos os helpinhos criados, ver mais informações de um helpinho. Na tela com todos os helpinhos, deve ser possivel fazer buscas. Ordenação e filtros serão bem vindos.

Abaixo listamos todas funcionalidades que esperamos vê, bem como as stacks:

FrontEnd:

  • Angular v17+
  • Tailwind

Use o angular na versão 17, ou mais recente. Sinta-se livre para usar libs e outros recursos que desejar. Todas as telas básicas estão no figma para que você possa desenvolvê-las, fique à vontade para criar mais telas caso considere necessário.

Esperamos as funcionalidades:

  1. Página de Listagem de Helpinhos:

    • Listar todos os helpinhos criados.
    • Função de pesquisa (opcional ter filtros e ordenação).
  2. Página de Criação de Helpinho:

    • Validação de formulário.
    • Campos obrigatórios: foto, título, descrição, meta, nome do criador, categoria, prazo e informações bancárias.
    • Confirmação de envio e redirecuionar para o helpinho criado.
  3. Página de Visualização de Helpinho:

    • Mostrar todos os dados não sensíveis do helpinho e do criador.
    • Mostrar valores recebidos até o momento (opcional realtime).
  4. Página de Autenticação:

    • Tela de login e cadastro.
    • Validação de formulário.
    • Seguração de dados do usuário.

BackEnd:

  • Serverless utilizando AWS

Esperamos as funcionalidades:

  1. CRUD de Usuário:

    • Nome, telefone, email e senha.
  2. CRUD de Solicitação de Help:

    • Imagem, meta, descrição, título e solicitante.
  3. CRUD de Help Realizado:

    • Solicitação, valor e doador.

Instruções para a Aplicação

  1. Clone o Repositório:

    git clone https://github.com/LBCA-TI/Helpinho.git
  2. Desenvolva sua aplicação Dentro de cada pasta, frontend e backend, crie sua aplicação e documente o passo a passo para execução e uma breve explicação do seu desenvolvimento. Caso necessário, crie um outro arquivo .md na raíz, mas não altere este arquivo README.md

  3. Documente sua aplicação Crie uma breve documentação do seu código, explicando sua tomada de decisão e qualquer ponto que ache relevante documentar

  4. Teste sua aplicação (opcional) Garanta que sua aplicação irá funcionar corretamente, faça testes unitários para garatir que cada parte da sua aplicação está funcionando corretamente

Links

Sobre a Vaga

Desenvolvedor Pleno Full Stack

Estamos em busca de um Desenvolvedor Pleno Full Stack talentoso e experiente e principalmente com muita garra, para se juntar ao nosso time. O candidato ideal deverá ter habilidades avançadas em desenvolvimento serverless e um sólido conhecimento das ferramentas e tecnologias listadas. Se você é apaixonado por criar soluções eficientes e escaláveis, essa oportunidade é para você!

Nosso projeto

Descubra uma plataforma serverless descentralizada e multi-cliente que está redefinindo os limites da tecnologia! Projetada para empresas que buscam escalabilidade e eficiência, ela oferece uma infraestrutura robusta e flexível, permitindo que você se concentre na criação de soluções inovadoras. Com uma arquitetura aberta, a plataforma proporciona um ambiente fértil para desenvolvedores explorarem novas ideias e enfrentarem desafios técnicos de ponta. Junte-se a um projeto revolucionário que elimina a complexidade do gerenciamento de servidores, garante segurança robusta e reduz custos operacionais. Aqui, você terá a oportunidade de trabalhar com tecnologias de última geração e impulsionar o futuro da inovação. Venha transformar o mercado e criar soluções extraordinárias conosco!

Responsabilidades:

  • Desenvolver e manter aplicações utilizando Node.js e Angular v17.
  • Implementar e gerenciar funções AWS Lambda para soluções serverless.
  • Utilizar AWS DynamoDB para armazenamento de dados NoSQL.
  • Configurar e gerenciar filas de mensagens com AWS SQS.
  • Realizar consultas de dados com AWS Athena.
  • Desenvolver e dar manutenção em componentes responsivos e reutilizáveis.
  • Desenvolver interfaces usando Tailwind e SCSS, baseados em design no Figma.
  • Colaborar com a equipe de desenvolvimento para implementar padrões de desenvolvimento e melhores práticas.
  • Aplicar arquitetura orientada a eventos para construir sistemas desacoplados e escaláveis.
  • Utilizar conceitos de Domain-Driven Design (DDD) para a modelagem de domínios complexos.
  • Ser responsável pela manutenção do sistema em produção.

Requisitos:

  • Experiência comprovada em desenvolvimento full stack utilizando Node.js e Angular.
  • Habilidades em TailwindCSS para estilização de interfaces.
  • Familiaridade com padrões de desenvolvimento de software.
  • Compreensão de conceitos de Domain-Driven Design (DDD).
  • Capacidade de trabalhar de forma colaborativa em um ambiente ágil.
  • Boas práticas no desenvolvimento web (HTML, SCSS, TypeScript).

Diferenciais:

  • Experiência anterior em projetos utilizando todas as ferramentas listadas.
  • Habilidade em resolver problemas de forma criativa e eficiente.
  • Excelentes habilidades de comunicação e trabalho em equipe.
  • Experiência com testes unitários e integrados, garantindo a qualidade e a robustez das aplicações desenvolvidas.
  • Conhecimento em Angular Signals e gerenciamento de estado.

Desejável

  • Experiência com AWS DynamoDB, AWS SQS e AWS Athena.
  • Conhecimento prático em desenvolvimento Serverless com AWS Lambda.
  • Experiência com arquitetura orientada a eventos.
  • Habilidade para trabalhar em um ambiente ágil (Scrum/Kanban).
  • Experiência com ferramentas de CI/CD.

Se você possui o perfil descrito e está pronto para novos desafios, envie seu currículo e portfólio para o nosso e-mail de recrutamento. Venha fazer parte de uma equipe que valoriza a inovação e a excelência no desenvolvimento de software!