Pesquisar

Alysson S.

(0.0 - 0 avaliações)

Projetos concluídos: 0 | Recomendações: 0 | Registrado desde: 08/04/2023

Projetos (Aguardando Propostas):

  • Correção de bugs em sistema de flashcards com revisão espaçada

    Desenvolvimento Web | Orçamento: Aberto | Publicado: | Propostas: 5

    Estamos desenvolvendo um sistema de revisão de flashcards baseado no método de Revisão Espaçada (FSRS - Free Spaced Repetition System), que armazena flashcards em diferentes decks e permite a revisão periódica com base no desempenho do usuário.

    Problema: Atualmente, estamos enfrentando problemas na integração e funcionamento de dois scripts JavaScript que deveriam gerenciar o carregamento dos flashcards, calcular os intervalos de revisão e atualizar as estatísticas de desempenho do usuário.

    Esses problemas incluem:

    • Conflito de funções: Temos dois arquivos JavaScript (main.js e script.js) que possuem funcionalidades sobrepostas, como o gerenciamento de estados dos flashcards (novos, em revisão, concluídos) e o cálculo do intervalo de revisão com base no feedback do usuário. Essas funções estão redundantes e não estão funcionando corretamente.

    • Flashcards não estão sendo carregados corretamente: Os flashcards são salvos no localStorage, mas quando a página é carregada, ou eles não são exibidos, ou não estão sendo filtrados corretamente por deck. Às vezes, os flashcards aparecem de forma inconsistente.

    • Problemas no fluxo de revisão: Após o usuário dar um feedback ("Fácil", "Bom", "Difícil", "De novo"), o flashcard deveria ser agendado para uma nova revisão com base em um intervalo específico. No entanto, o cálculo dos próximos intervalos não está sendo aplicado de maneira precisa, e os flashcards não estão voltando na ordem correta para a revisão futura.

    • Atualização incorreta das estatísticas: As estatísticas de revisão (número de cards novos, cards em revisão, total de cards e o desempenho do usuário) não estão sendo atualizadas corretamente após cada interação com os flashcards.

    Objetivo: Precisamos de um programador experiente em JavaScript e manipulação de DOM, com experiência em sistemas de revisão espaçada, para corrigir esses problemas. O profissional deverá:

    • Unificar os scripts JavaScript e eliminar redundâncias entre main.js e script.js, garantindo que todas as funcionalidades relacionadas ao carregamento dos flashcards, revisão e estatísticas sejam centralizadas e funcionem sem conflitos.

    • Corrigir o carregamento dos flashcards a partir do localStorage, garantindo que os flashcards corretos sejam carregados conforme o deck selecionado e que eles possam ser revisados na ordem adequada.

    • Implementar corretamente a lógica de revisão com intervalos baseados no feedback do usuário ("De novo", "Difícil", "Bom", "Fácil"), aplicando as regras de espaçamento para cada tipo de feedback e garantindo que o flashcard seja revisado no intervalo de tempo correto.

    • Corrigir a atualização das estatísticas de flashcards novos, em revisão e o desempenho do usuário após cada interação com os flashcards.

    Resumo do sistema: O sistema é uma aplicação web para gerenciamento de flashcards usando o método de Revisão Espaçada (similar ao sistema Anki). O usuário pode:

    • Adicionar flashcards a diferentes decks.
    • Revisar os flashcards de acordo com a frequência calculada pelo algoritmo de espaçamento.
    • Dar feedback após revisar cada flashcard, determinando se foi "Fácil", "Bom", "Difícil" ou se precisa ser revisado "De novo".

    O sistema utiliza o localStorage para salvar o progresso do usuário e manter os flashcards organizados por decks. A interface já está desenvolvida, e o sistema principal de revisão já foi parcialmente implementado. O desafio está na integração e correção dos bugs mencionados, para que o sistema funcione de maneira consistente.

    Habilidades desejadas: Javascript.

Carregando...

Carregando...

Pesquisar

FREELANCERS
PROJETOS
Ocorreu um erro inesperado. Caso o erro persista, entre em contato conosco através do e-mail suporte@99freelas.com.br.