gleyve / supertags-webapp

Formação Dev
2 stars 0 forks source link
![Tela Inicial](./images/fd-supertags.gif)

Status do Projeto

GitHub repo size Lines of code GitHub Issues or Pull Requests GitHub Issues or Pull Requests GitHub License

🤔 O que é este projeto

Este projeto consiste em um desafio entre Equipes da Formação DEV da Cod3r turma 2024, todos requisitos foram previamente definidos e seguem replicados abaixo como referência para o desenvolvimento da equipe:

Link dos Requisitos do Projeto no Github

🪜 Etapa 1 - Autenticação

📔 Requisitos Funcionais

  1. Registro de usuário:
    • Um usuário deve conseguir criar uma conta na aplicação provendo nome, email e senha.
    • Um usuário só poderá se registrar na aplicação se possuir uma senha forte
    • Caso haja algum problema no registro, o usuário precisa ser avisado disso através de algum feedback visual
  2. Login:
    • Um usuário deve fazer login na aplicação utilizando e-mail e senha
    • Ao fazer login, o usuário precisa ser redirecionado para a parte interna da aplicação que não estará disponível para usuários não logados
    • Caso haja algum problema no login, o usuário precisa ser avisado disso através de algum feedback visual
  3. Logout:
    • Um usuário deve conseguir se deslogar da aplicação uma vez que esteja na parte interna da aplicação
    • Ao se deslogar, o usuário deve retornar para a lágina de login
  4. Sessão
    • Ao fazer o login, a sessão do usuário deve se manter ativa por um período de tempo (exemplo, uma semana), ou seja, se o usuário fechar o navegador nesse intervalo de tempo, ao abrí-lo novamente dentro do período de tempo estipulado, ele deve continuar logado

📔 Detalhes Adicionais:

  1. Frontend
    • O Frontend da aplicação deve conter telas as telas de login, registro de usuário, e a página interna da aplicação onde é possível fazer logout
    • A página interna da aplicação só deve ser acessível para usuários logados
  2. Backend
    • O Backend deve ser desenvolvido pela equipe
    • É de responsabilidade do Backend gerar um token para validação de usuário
    • O backend deve persistir dados em um banco de dados

🪜 Etapa 2 - Criação de uma SuperTag

📔 Requisitos funcionais

Dica: Para essa etapa, não se preocupe com a criação das páginas, crie uma única página e a utilize para a implementação de todos os componentes necessários.

  1. Definir o título de uma página:

    • O usuário deve poder alterar o título de uma página que será inicializada com um valor padrão
    • Além de um valor textual, o título da página deve conter um emoji para sua identificação
    • A página deve possuir um emoji padrão
    • Ao clicar no emoji, deve ser possível selecionar um emoji de uma lista para substituir o emoji padrão
    • Ao clicar no título da página, deve ser possível alterá-lo
  2. Propriedades:

    • Uma página deve conter uma lista de propriedades cujos tipos pode ser selecionado entre os tipos da lista abaixo:
      • texto
      • número inteiro
      • número real
      • chechbox
      • data
      • Uma propriedade deve ter um valor que possa ser editado de acordo com o tipo da propriedade
      • A lista de propriedades de um documento pode ser colapsada
      • Uma propriedade pode ser excluida pelo usuário
  3. Salvamento automático:

    • O salvamento da página (contendo título e propriedades) deve ser feito automaticamente no banco de dados
    • Ao abrir a página, esta deve ser preenchida com as últimas alterações feitas pelo usuário

🪜 Etapa 3 - Árvore de Tags

📔 Requisitos Funcionais

  1. Criar uma nova SuperTag:
    • O usuário deve conseguir criar uma SuperTag a partir de um menu lateral no formato de árvore
  2. Criar uma nova tag filha:
    • O usuário deve conseguir criar uma tag filha associada a uma SuperTag.
    • Além de criar uma tag associada a uma SuperTag, é possível que tags também tenham tags filhas
  3. Colapsar lista de Tags:
    • O usuário deve conseguir exibir todas as tags filhas de uma determinada tag, ou fechar essa visualização
  4. Exclusão de tags:
    • Uma tag, ou uma SuperTag, devem poder ser excluidas pela interface.
    • Ao excluir uma SuperTag, suas tags filhas também serão excluidas.

🪜 Etapa 4 - Editor de Texto

Dica: Existem vários editores de texto ricos no mercado e você pode optar por integrar um desses editores no projeto ao invés de desenvolver a sua própria versão

  1. Editor de texto:
    • O usuário deve ter a sua disposição um editor de texto
    • O conteúdo do editor de texto deve ser salvo automáticamente junto com as propriedades e título da página
    • O editor deve ter as seguintes funcionalidades de estilização básicas:
      • Negrito
      • Itálico
      • Sublinhado
      • Código
    • Ao selecionar uma palavra, deve aparecer um menu de estilização com as funcionalidades citadas acima e ao clicar em uma das opções do menu, o texto deve manter aquela formatação
    • Deve ser possível adicionar ao texto um link externo para outra página através do menu de estilização

➕ Etapa 5 - Funcionalidades Extras [opcional]

🆘 Materiais de apoio sugeridos

🗒️ Cursos da Formação sugeridos:

Obs: Não é necessário ter feito todos os cursos para participar do projeto, mas se houverem dúvidas, esses cursos são um bom ponto de consulta.

💎 Outros conteúdos sugeridos:

Youtube da Cod3r

💬 Blog da Formação

🧰 Ferramentas utilizadas no desenvolvimento do projeto

⚙️ Tecnologias usadas no projeto

🧑‍💻 Formação da Equipe