Skip to content

EctorCunha/dh-money

 
 

Repository files navigation

Projeto de Conclusão de Curso - Grupo 01 de Frontend

Esse projeto consiste no desenvolvimento do frontend para o banco Digital Money House como parte do trabalho de conclusão do curso Certified Tech Developer da Digital House. O objetivo principal é criar uma interface amigável e responsiva para os usuários do banco, facilitando a realização de operações bancárias e fornecendo informações relevantes sobre os serviços oferecidos pelo Digital Money House.

O objetivo do grupo ao realizar este projeto é aplicar os conhecimentos adquiridos ao longo do curso, demonstrando as habilidades individuais e a capacidade de trabalhar em equipe para desenvolver uma solução completa para os clientes.

Índice

  1. Equipe
  2. Metodologia de trabalho
  3. Log do projeto
  4. Tecnologias Utilizadas
  5. Documentação Técnica do Projeto

Equipe

1. Ector Vinicius Constantino Cunha

Linkedin

Biografia: Profissional da área de desenvolvimento web com experiência de mercado, incluindo SPA, e-commerce e outros. Sólidos conhecimentos no frontend usando ReactJs. Constante aprendiz, fascinado em contribuir para o desenvolvimento tecnológico ajudando pessoas, proporcionando melhorias de negócios, adquirindo e compartilhando conhecimento.

Papéis desempenhados e tarefas realizadas:

  • Resolução de tarefas relacionadas a gestão de meios de pagamento, pagamento de serviços, testes de qualidade e testes de cibersegurança.

2. Karina Osuka

Linkedin

Biografia: Karina é uma desenvolvedora front-end com conhecimento em JavaScript e React JS. Acredita que o universo do front-end vai além do código, envolve o design, experiência do usuário, testes, acessibilidade e sustentabilidade. Com isso em mente sempre busca se manter atualizado na área.

Papéis desempenhados e tarefas realizadas:

  • Desenvolvimento do plano de teste.
  • Criação de testes automatizados com Selenium Chromedriver.
  • Teste de sustentabilidade.
  • Criação das apresentações.

3. Paulo Gustavo Rossi

Linkedin

Biografia: Paulo é um desenvolvedor frontend com experiência em HTML, CSS e JavaScript. Ele possui habilidades em design de interface de usuário e está sempre atualizado com as últimas tendências e tecnologias do mercado.

Papéis desempenhados e tarefas realizadas:

  • Desenvolvimento da estrutura HTML e CSS do projeto.
  • Implementação de funcionalidades e interações usando JavaScript.
  • Integração com APIs e serviços externos.

4. Pedro Menezes

Linkedin

Biografia: Desenvolvedor Front-End com formação em Comunicação e experiência em Design. Atividades profissionais frequentemente voltadas para o terceiro setor e iniciativas de desenvolvimento social e responsabilidade ambiental. Aficionado por entender como as coisas funcionam a fundo (e seus porquês) e apaixonado por resolver problemas.

Papéis desempenhados e tarefas realizadas:

  • Co-liderança da equipe
  • Gerenciamento de tarefas
  • Desenvolvimento de páginas e componentes React
  • Implementação de Design System
  • Integração com API
  • Manutenção da base de código

5. Thiago Maurat Martins Dias

Linkedin

Biografia: Neste projeto, atuei com proficiência e zelo na implementação e desenvolvimento da camada front-end utilizando Next.js. Minhas principais responsabilidades foram: Realizei a configuração inicial do ambiente de de desenvolvimento. Pude contribuir significativamente no desenvolvimento de componentes React reutilizáveis e de alto desempenho. Utilizei as melhores práticas do React, como o uso de componentes funcionais e hooks, para criar interfaces responsivas e interativas. Utilizei o roteamento avançado oferecido pelo Next.js para criar uma navegação suave entre as diferentes páginas e fluxos de aplicativo. Isso inclui a configuração de rotas dinâmicas, tratamento de parâmetros de URL e definição de rotas personalizadas. Fui responsável por integrar o front-end desenvolvido com Next.js a APIs externas. Utilizei a funcionalidade de chamadas a API do Next.js para consumir dados e atualizar dinamicamente as páginas, bem como de forma estática.

Papéis desempenhados e tarefas realizadas:

  • Configuração inicial do projeto
  • Desenvolvimento de componentes React
  • Implementação de roteamento avançado
  • Integração com APIs

6. Vinicius Mendes da Silva

Linkedin

Biografia: Vinicius achou na tecnologia uma oportunidade de trabalhar com aquilo que ama. Possui conhecimento de Frontend, Backend, Infra e Testing. Contudo agora seus esforços estão voltados à ciência de dados e machine learning.

Papéis desempenhados e tarefas realizadas:

  • Desenvolvimento de páginas responsivas.
  • responsável por criar, manter e reproduzir casos de teste.

Metodologia de trabalho

Nossa equipe adotou a metodologia Scrum para gerenciar o projeto. Essa abordagem ágil nos permitiu lidar com os desafios de forma iterativa e flexível, entregando valor de maneira incremental.

Os pontos positivos da metodologia Scrum foram a transparência, a comunicação efetiva e a capacidade de adaptação. Realizamos reuniões diárias de acompanhamento (dailys) para compartilhar o progresso, identificar impedimentos e ajustar o planejamento conforme necessário.

Para atribuição de funções dentro da equipe, adotamos um modelo de colaboração e flexibilidade. Embora cada membro tenha suas especialidades, incentivamos a participação e a troca de conhecimentos. As tarefas foram distribuídas de acordo com as habilidades individuais e a disponibilidade, garantindo uma distribuição equilibrada.

Além disso, estabelecemos acordos para melhorar a colaboração e o controle de versão. Utilizamos uma ferramenta de controle de versão, como o Git, para gerenciar o código fonte do projeto. Também implementamos padrões de codificação para garantir consistência e facilitar a revisão do código.

Log do projeto

Em cada sprint, enfrentamos diversos desafios e conseguimos superá-los com sucesso. Durante as dailys e retrospectivas, identificamos as áreas que precisavam de ajustes e tomamos as medidas necessárias para resolver os requisitos obrigatórios e opcionais.

Nossa equipe demonstrou pontos fortes em várias áreas de tecnologia, o que nos permitiu avançar de forma eficaz. A colaboração entre os membros foi essencial para aproveitar ao máximo essas habilidades. Mantivemos uma comunicação aberta e compartilhamos conhecimentos para solucionar problemas de maneira eficiente.

Um sucesso evidente em nossa equipe foi a entrega de funcionalidades dentro dos prazos estabelecidos. Nosso comprometimento e colaboração permitiram que cumpríssemos os objetivos de cada sprint.

Apesar dos pontos fortes, enfrentamos alguns pontos fracos ao longo do projeto. Identificamos situações difíceis ou conflitantes que foram resolvidas por meio de diálogo aberto e busca por soluções em conjunto. A comunicação e a compreensão mútua foram fundamentais para superar esses obstáculos.

Consideramos que uma das coisas que não saíram como planejado foi a estimativa de tempo para algumas tarefas. Aprendemos que é importante dedicar um tempo suficiente para uma análise detalhada antes de definir prazos e garantir uma margem de manobra para lidar com imprevistos.

Desafios Enfrentados

Durante o desenvolvimento do projeto, enfrentamos alguns desafios que exigiram soluções criativas e colaboração em equipe. Alguns desses desafios incluíram:

  • Gerenciamento do tempo
  • Equilíbrio de responsabilidades
  • Enfrentar problemas técnicos inesperados

Aprendizados e Melhorias

Enfrentar esses desafios nos permitiu aprender lições valiosas e melhorar nossas habilidades como equipe de desenvolvimento. Alguns dos aprendizados incluíram:

  • A importância da comunicação efetiva
  • A necessidade de flexibilidade e adaptação a mudanças
  • A importância de estabelecer limites realistas
  • A necessidade de testes abrangentes

Tecnologias Utilizadas

  • Git
  • Postman
  • Node
  • Visual Studio Code
  • React
  • React Router V6
  • MongoDB
  • Docker
  • Minikube
  • Testing Library
  • next.js 13
  • next auth
  • typescript
  • react query
  • react hook form
  • chakra ui
  • axios
  • date-fns
  • lodash

Documentação Técnica do Projeto

A documentação técnica do projeto fornece informações abrangentes sobre o sistema desenvolvido, suas funcionalidades, arquitetura, tecnologias utilizadas e procedimentos de implantação. Esta documentação destina-se a desenvolvedores, arquitetos de software, analistas de QA e outros membros da equipe envolvidos no desenvolvimento, manutenção e implantação do projeto.

Testes

Foram realizados os seguintes testes para garantir a qualidade do software:

Teste manual

  • Suíte de testes Fumaça
  • Suíte de testes Regressão

Teste automatizado

  • Selenium chromedriver

Teste de pegada de carbono

Teste de segurança

Teste de desempenho

API

O sistema expõe uma API para permitir integrações com outros sistemas. A documentação da API está disponível em https://digitalmoney.ctd.academy/swagger/index.html#/, e fornece detalhes sobre os endpoints disponíveis, parâmetros aceitos, formatos de solicitação e resposta, bem como exemplos de uso.

Conclusão

O projeto de desenvolvimento do frontend para o banco Digital Money House foi uma experiência enriquecedora para a equipe. Conseguimos desenvolver uma interface intuitiva e responsiva, aplicando as melhores práticas de desenvolvimento frontend. Superamos desafios técnicos, aprendemos a trabalhar em equipe e aprimoramos nossas habilidades.

Embora tenhamos enfrentado alguns obstáculos, como gerenciamento do tempo e problemas técnicos, a colaboração e o esforço conjunto nos permitiram entregar um produto de qualidade que atendeu às expectativas do cliente.

Estamos orgulhosos do trabalho realizado e confiantes de que o projeto será bem recebido pelos usuários finais. Esperamos continuar aprimorando e expandindo o produto no futuro.

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.9%
  • JavaScript 0.1%