Estamos lançando uma campanha especial para sortear um ingresso entre aqueles que estão iniciando suas carreiras em desenvolvimento web! Se você tem entre 6 meses a 1 ano de experiência em estudos de desenvolvimento e deseja demonstrar suas habilidades, essa é a sua chance de brilhar!
Como participar: Envie seu CV e portfólio para o e-mail comunidaderh23@gmail.com. Junto com seu envio, você receberá um desafio técnico que deverá ser completado dentro de uma semana do dia 02/09/2024.
Objetivo: Desenvolver um aplicativo web de lista de tarefas (To-Do List) que permita aos usuários criar, editar e excluir tarefas. O aplicativo também deve suportar autenticação de usuário e permitir que diferentes usuários compartilhem listas de tarefas entre si. O backend será gerenciado pelo Firebase ou Supabase com PostgreSQL.
Requisitos do Desafio:
-
Autenticação de Usuário:
- Implementar autenticação de usuários utilizando Firebase Authentication ou Supabase Auth.
- Permitir login e registro de novos usuários usando email e senha.
- Implementar a função de reset de senha.
-
Gerenciamento de Tarefas:
- Os usuários devem poder criar, editar, marcar como concluídas, e excluir tarefas.
- As tarefas devem ser armazenadas em uma base de dados no Firebase Firestore ou Supabase/PostgreSQL.
- As tarefas devem ser exibidas em uma interface de usuário clara e organizada.
-
Funcionalidade de Compartilhamento:
- Os usuários devem poder compartilhar suas listas de tarefas com outros usuários.
- Implementar permissões de leitura e escrita para listas compartilhadas, onde um usuário pode conceder acesso total ou apenas leitura a outros usuários.
-
Interface de Usuário:
- A interface deve ser responsiva e fácil de usar, com feedback visual para ações como adicionar, editar, e concluir tarefas.
- Utilizar frameworks ou bibliotecas de JavaScript (por exemplo, React ou Vue.js) para construir a interface.
-
Notificações em Tempo Real:
- Implementar notificações em tempo real para alterações em listas compartilhadas (usando Firebase Realtime Database, Firestore com listeners, ou Supabase Realtime).
- Notificar os usuários quando uma tarefa é adicionada ou modificada por outro usuário.
-
Histórico de Alterações:
- Manter um histórico básico de alterações para cada tarefa (quem criou, quem editou, quando foi feita a última alteração).
-
Segurança e Validação:
- Garantir que todas as operações no banco de dados estejam protegidas com regras de segurança adequadas (Firestore Rules ou Supabase Policies).
- Validar todas as entradas do usuário para evitar erros e proteger contra ataques como SQL Injection (em Supabase).
Critérios de Avaliação:
O processo de avaliação será dividido em duas partes:
-
Avaliação Técnica pelo Líder Técnico:
- Funcionalidade: O aplicativo atende a todos os requisitos funcionais descritos.
- Código: O código é limpo, bem organizado, e documentado.
- Segurança: A aplicação segue práticas de segurança adequadas, especialmente no que se refere a autenticação e permissões.
- Usabilidade: A interface é intuitiva e fácil de usar.
- Criatividade: Quaisquer funcionalidades extras ou melhorias feitas além dos requisitos básicos.
-
Avaliação de Perfil pelo Tech Recruiter:
- Currículo: Análise da trajetória acadêmica e experiência (mesmo que limitada, é importante que demonstre dedicação e interesse na área).
- Portfólio: Avaliação da qualidade dos projetos anteriores, se disponíveis, e da capacidade de apresentar suas habilidades.
- Adequação Cultural: Consideração de aspectos como a comunicação e o alinhamento com a cultura de aprendizado contínuo e inovação.
Entrega:
- Código-Fonte: Disponibilizar o código em um repositório público no GitHub.
- Documentação: Incluir um README detalhado explicando como configurar e executar o projeto, bem como uma descrição das funcionalidades implementadas.
- Demonstração: Opcionalmente, fornecer uma URL para uma versão hospedada do aplicativo (por exemplo, usando Vercel ou Netlify).
Duração: Os participantes terão uma semana para completar o desafio.
- Tempo de Estudo: Estudantes ou desenvolvedores com 6 meses a 1 ano de experiência em estudos de desenvolvimento web.
- Participação: Enviar o CV e portfólio para o e-mail comunidaderh23@gmail.com antes de iniciar o desafio.
Aproveite esta oportunidade para mostrar suas habilidades e, quem sabe, ganhar um ingresso para um evento que pode mudar sua carreira!