Skip to content

Desafio - João Pedro Ferreira#2

Open
joaoprferreira wants to merge 100 commits intobennutv:mainfrom
joaoprferreira:main
Open

Desafio - João Pedro Ferreira#2
joaoprferreira wants to merge 100 commits intobennutv:mainfrom
joaoprferreira:main

Conversation

@joaoprferreira
Copy link

@joaoprferreira joaoprferreira commented May 15, 2025

Esta entrega apresenta uma aplicação completa de lista de tarefas (TO-DO), composta por um backend e um aplicativo mobile desenvolvido com React Native. O projeto foi estruturado com foco em escalabilidade, organização e boas práticas de desenvolvimento.

Backend

  • Localizado na raiz do repositório.
  • Responsável por gerenciar operações de CRUD sobre as tarefas.
  • Inclui ajustes na API para permitir a marcação de tarefas como concluídas por meio de requisições PATCH/PUT.
  • Para execução: yarn seguido de yarn start.

Aplicativo Mobile (React Native)

  • Localizado no diretório bennuTaskApp.
  • Desenvolvido com React Native 0.70.5 e TypeScript.
  • Compatível com Android.
  • Instruções para execução:
  • Instalar dependências com yarn.
  • Iniciar o Metro Bundler com yarn start.
  • Executar adb reverse tcp:9001 tcp:9001 para redirecionamento de porta.
  • Iniciar o app com yarn android.

Funcionalidades

  • Visualização das tarefas por status (todas, ativas, concluídas).
  • Criação, edição, exclusão e marcação de tarefas como concluídas.
  • Persistência local utilizando Redux Persist.
  • Animação visual ao concluir tarefas.
  • Testes unitários com Jest e Testing Library.

Tecnologias Utilizadas

  • React Native
  • TypeScript
  • Redux Toolkit, Redux Persist, Redux Query
  • Styled Components
  • React Navigation
  • React Native Dotenv
  • Jest e Testing Library

Configuração
As variáveis de ambiente estão definidas no arquivo .env localizado no diretório bennuTaskApp.
O endpoint da API está configurado como variável de ambiente, permitindo fácil ajuste para diferentes ambientes de execução.

Signed-off-by: João Pedro <joaof082@gmail.com>
… to the challenge-mobile repository

Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
…all icons

Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
… to register new task

Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
…ation

Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Signed-off-by: João Pedro <joaof082@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant