GithubHelp home page GithubHelp logo

jardielmaqueiroz / desafioadasemana1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lucasbacarinireis/desafioadasemana1

0.0 0.0 0.0 16.63 MB

Desafio da 1° Semana do bootcamp Ada + Cielo Dev

Java 25.37% TypeScript 73.48% HTML 0.66% Dockerfile 0.49%

desafioadasemana1's Introduction

Desafio 1° semana | Ada Tehch + Cielo

Descrição

Você foi designado para criar um serviço que gerencia filas de sugestões, elogios e críticas de clientes para uma empresa, aproveitando os serviços da AWS, como SNS e SQS. O serviço deve permitir que os clientes enviem suas sugestões, elogios e críticas, que serão enfileirados e processados de acordo com a ordem em que foram recebidos. Além disso, deve ser possível verificar o status da fila e obter informações sobre as mensagens recebidas.

Requisitos:

  1. Implemente uma classe CustomerFeedback que represente uma mensagem de feedback com os seguintes atributos: id, type (tipo de feedback, como "Sugestão", "Elogio" ou "Crítica"), message (mensagem do cliente) e status (status da mensagem, como "Recebido", "Em Processamento" ou "Finalizado").
  2. Configure um tópico SNS para cada tipo de feedback (Sugestão, Elogio, Crítica) na AWS. Quando um cliente envia um feedback, o sistema deve publicar a mensagem no tópico SNS correspondente.
  3. Configure uma fila SQS para cada tipo de feedback (Sugestão, Elogio, Crítica) na AWS. Configure as filas para seguir o princípio FIFO (First-In-First-Out).
  4. Implemente um consumidor de fila SQS para processar os feedbacks da fila. Este consumidor deve ser executado em segundo plano e processar os feedbacks de acordo com a ordem da fila. Quando um feedback for processado com sucesso, seu status deve ser atualizado para "Finalizado".
  5. Crie um controlador REST em Java usando a biblioteca Spring Boot para expor endpoints para as seguintes operações: a. Enviar um feedback (sugestão, elogio ou crítica) para a fila correspondente no SQS. b. Obter o tamanho atual da fila de feedbacks para cada tipo (Sugestão, Elogio, Crítica). c. Obter informações sobre todos os feedbacks na fila de cada tipo.
  6. Documente a API REST usando a especificação Swagger ou alguma outra ferramenta de documentação de API.

🤝 Colaboradores

Grupo:: Sala 4

Foto do Anderson de Aguiar de Oliveira no GitHub
Anderson de Aguiar de Oliveira
Foto do Lucas Bacarini Reis no GitHub
Lucas Bacarini Reis
Foto da Jardielma Lima no GitHub
Jardielma Queiroz De Lima Lopes

💻 Pré-requisitos

Antes de começar, verifique se você atendeu aos seguintes requisitos:

Ferramentas Utilizadas

🚀 Getting started

  1. Front End:

    • Siga as instruções contidas no README.md do diretório feedback-react-app.
  2. Back End:

    • Siga as instruções contidas no Backend.md do diretório da aplicação Maven.
  3. Banco de Dados:

    • Siga as instruções contidas no Mongodb.md do diretório da aplicação Maven.
  4. Docker:

    • Siga as instruções contidas no Docker.md na raiz deste repositório.
  5. Okteto:

    • O Okteto é uma plataforma de desenvolvimento de aplicativos baseada em contêineres que foi projetada para simplificar e acelerar o desenvolvimento de aplicativos na nuvem. Foram publicados via docker-compose, com banco de dados. Segue os links que, obviamente, é necessário complementar com a rota que se pretende acessar.
    • Backend
    • Frontend

    Segue, collection do Postman para fork com os endpoints e api no Okteto.

    Run in Postman

📫 Contribuindo para projeto

Para contribuir com o projeto, siga estas etapas:

  • Bifurque este repositório.
  • Crie um branch: git checkout -b <nome_branch>.
  • Faça suas alterações e confirme-as: git commit -m '<mensagem_commit>'
  • Envie para o branch original: git push origin <nome_do_projeto> / <local>
  • Crie a solicitação de pull.

✨ Preview

1. Home

1. Home

2. Home - Perfil

Al2. Home

3. Formulário de envio de feedbacks

3.

4. Login

4.

5. Primieiro acesso

5.

desafioadasemana1's People

Contributors

andersonaoliveira avatar jardielmaqueiroz avatar lucasbacarinireis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.