Este projeto tem como objetivo desenvolver uma API RESTful para gerenciamento de tarefas, proporcionando funcionalidades de CRUD (Create, Read, Update, Delete) de tarefas, autenticação de usuários e armazenamento dos dados em um banco de dados.
- Criar uma API que permita CRUD (Create, Read, Update, Delete) de tarefas.
- Implementar autenticação de usuários.
- Utilizar um banco de dados SQLite para armazenar as tarefas.
- Documentar todo o processo e apresentar as conclusões.
- Criar Tarefa: Endpoint para criar uma nova tarefa.
- Listar Tarefas: Endpoint para listar todas as tarefas.
- Atualizar Tarefa: Endpoint para atualizar uma tarefa existente.
- Deletar Tarefa: Endpoint para deletar uma tarefa existente.
- Registro de Usuário: Endpoint para registrar um novo usuário.
- Login de Usuário: Endpoint para autenticar um usuário e gerar um token JWT.
- Proteção de Rotas: Garantir que apenas usuários autenticados possam acessar os endpoints de tarefas.
-
Utilizar SQLite como banco de dados para armazenar informações de usuários e tarefas.
project-root/ │ ├── src/ │ ├── controllers/ │ ├── models/ │ ├── routes/ │ ├── middlewares/ │ ├── database/ │ └── app.js │ ├── .env ├── .gitignore ├── README.md └── package.json
- Código Fonte:
- Código fonte do projeto, organizado conforme a estrutura acima.
- Repositório GitHub:
- Repositório público contendo o código fonte e documentação.
- Documentação:
- README.md com instruções sobre como configurar e executar o projeto, além de detalhes dos endpoints da API.
- Boas Práticas: Utilizar boas práticas de código limpo, legível e bem documentado.
- Git: Utilizar Git para controle de versão e submeter o projeto através de um repositório público no GitHub.
- Crie um Fork desse Repositório.
- Criar do Zero: É fundamental que o projeto seja desenvolvido completamente do zero, demonstrando suas habilidades e criatividade desde o início.
- Utilize bibliotecas como Express para criação da API e jsonwebtoken para autenticação.
- Documente cada etapa do processo para facilitar a compreensão.
- Funcionalidade: A aplicação atende aos requisitos funcionais e funciona corretamente?
- Qualidade do Código: O código é limpo, bem estruturado e adequadamente documentado?
- Segurança: A autenticação foi implementada corretamente e as rotas estão protegidas?
- Uso do Git: O controle de versão é usado de forma eficaz com mensagens de commit significativas?
- Documentação: A documentação é clara e detalha o processo de desenvolvimento e uso da API?
- Descobrir que o candidato não foi quem realizou o teste.
- Ver commits grandes sem muita explicação nas mensagens no repositório.
- Entregas padrão ou cópias de outros projetos. Buscamos originalidade e autenticidade em cada contribuição.
A data máxima para entrega das trilhas foi removida, permitindo que as pessoas entreguem conforme sua disponibilidade. No entanto, ainda é necessário concluir a trilha com sucesso para ser inserido em uma equipe.
Após finalizar o projeto, publique-o em uma URL pública (por exemplo, Vercel, Netlify, GitHub Pages, etc.) e hospede o seu servidor na nuvem. Use serviços que ofereçam uso gratiuto por um período, como a AWS e preencha o Formulário:
Achou esse projeto inicial simples? Eleve ainda mais! Estamos em busca de mentes inovadoras que não apenas criem, mas que também desafiem os padrões. Como você pode transformar essa estrutura inicial em algo verdadeiramente extraordinário? Demonstre o poder da sua criatividade e o impacto das suas ideias inovadoras!
🔗 Mantenha-se Conectado:
🌐 Contato:
- Email: [email protected]
Está com alguma dificuldade, encontrou algum problema no desafio ou tem alguma sugestão pra gente? Crie uma issue e descreva o que achar necessário.
Construindo o amanhã, hoje.