t10d / backend-node-teste

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Back-end Engineer

Olá Dev!

A T10 está contratando novos talentos para compor o seu time de desenvolvedores e para isso precisamos avaliar as habilidades técnicas dos candidatos na solução de problemas.

🤔 Problema

Sérgio é um desenvolvedor Frontend e está trabalhando em um projeto pessoal para ajudá-lo a controlar suas finanças e precisa da sua ajuda. Sérgio tem problema com seus gastos. Durante o mês ele gasta mais do que deveria e por isso resolveu criar uma aplicação web que ajude-o a ter um melhor controle financeiro.


🚀 Escopo

Para ajudar Sérgio a desenvolver seu projeto, ele precisa que você elabore um backend que ele possa consumir para finalizar o seu sistema.


🔎 Casos de Uso

  • Autenticação e acesso à plataforma.
  • Criação de orçamento mensal.
  • Registro de gastos.
  • Visualização de gastos.
  • Atualização de gasto.

Para conseguir seguir o seu orçamento de gastos Sérgio poderá compartilhar o seu progresso com outros usuários e para isso precisará dos seguintes recursos:

  • Enviar convite de acompanhamento para usuários já cadastrados na plataforma.
  • Cancelar um convite.
  • Aprovar uma solicitação de convite.
  • Rejeitar um solicitação de convite.
  • Visualizar convites recebidos.
  • Visualizar convites enviados.

Obs.: Um convidado deve apenas poder visualizar o progresso do orçamento mensal.


🧱 Requisitos

O backend da aplicação deve ser implementado com os seguintes requisitos:

  • Utilizar Node.js com Typescript.
  • Utilizar o Firestore.
  • Testes automatizados.
  • Utilizar arquitetura REST.

⭐️ Isso aqui é um PLUS!

  1. Sinta-se livre para implementar novas funcionalidades e arquitetar da maneira que preferir.
  2. Documentações são muito bem vindas.
  3. Um README bem escrito facilita o entendimento do projeto.
  4. A utilização de Docker e docker-compose é um excelente aditivo.
  5. A criação de um Makefile para auxiliar nos comandos essenciais para rodar o projeto é show!

🎁 Submissão

  1. A solução implementada deve ser disponibilizada através de um fork e um pull request neste repositório.
  2. Para agilizar o processo, por favor avise-nos sobre a submissão do projeto através do nosso contato contigo e/ou através do email it@t10.digital

About