Sistema interativo de gerenciamento de flashcards no terminal com JavaScript
Um sistema completo e funcional para gerenciar flashcards e baralhos através de um menu interativo no terminal. Desenvolvido em Node.js com foco em CRUD (Create, Read, Update, Delete) e inclusão de funcionalidades avançadas como exclusão em cascata e busca por conteúdo.
- ✅ Adicionar Baralho - Criar novos baralhos com IDs gerados automaticamente
- ✅ Adicionar Flashcard - Adicionar flashcards com pergunta, resposta e associação a baralho
- ✅ Listar Baralhos - Visualizar todos os baralhos cadastrados
- ✅ Listar Flashcards - Ver todos os flashcards do sistema
- ✅ Listar por Baralho - Filtrar flashcards por baralho específico
- ✅ Atualizar Baralho - Modificar título do baralho
- ✅ Atualizar Flashcard - Alterar pergunta e resposta
- ✅ Remover Baralho - Deletar baralho com exclusão em cascata de flashcards
- ✅ Remover Flashcard - Remover flashcard individual
- ✅ Buscar por Pergunta - Localizar flashcards pelo conteúdo da pergunta
Flashcard/
├── index.js # Menu principal interativo
├── menu.js # Renderização do menu
├── cores_terminal.js # Configuração de cores
├── package.json # Dependências
├── README.md # Este arquivo
│
├── Dados/
│ ├── baralho.js # Armazenamento de baralhos
│ └── flashcard.js # Armazenamento de flashcards
│
├── Create/
│ ├── adicionar_baralho.js
│ └── adicionar_flashcard.js
│
├── Read/
│ ├── listar_baralho.js
│ ├── listar_flashcard.js
│ └── listar_por_baralho.js
│
├── Update/
│ ├── atualizar_baralho.js
│ └── atualizar_flashcard.js
│
├── Delete/
│ ├── remover_baralho.js
│ └── remover_flashcard.js
│
└── Search/
└── buscar_pergunta.js
- Node.js 14+
- npm
# Clone o repositório
git clone https://github.com/seu-usuario/Flashcard.git
cd Flashcard
# Instale as dependências
npm installnode index.js=======================================
===== SISTEMA DE FLASHCARDS v1.0 ======
=======================================
⦙ ⦙
⦙ [1] - Adicionar Baralho ⦙
⦙ [2] - Adicionar Flashcard ⦙
⦙ [3] - Listar Baralhos ⦙
⦙ [4] - Listar Flashcards ⦙
⦙ [5] - Listar por Baralho ⦙
⦙ [6] - Atualizar Baralho ⦙
⦙ [7] - Atualizar Flashcard ⦙
⦙ [8] - Remover Baralho ⦙
⦙ [9] - Remover Flashcard ⦙
⦙ [10] - Buscar por Pergunta ⦙
⦙ ⦙
⦙ [0] - Sair ⦙
=======================================
Opção: 1
Digite o título do baralho: JavaScript Básico
✓ Baralho criado com sucesso!
Opção: 2
Digite sua pergunta: O que é uma variável?
Digite a sua resposta: Um espaço na memória para armazenar dados
Digite o ID do baralho: 1
✓ Flashcard adicionado com sucesso!
Opção: 5
Digite o ID do baralho desejado: 1
⦙ ID: 1
⦙ Pergunta: O que é uma variável?
⦙ Resposta: Um espaço na memória para armazenar dados
- ✅ Impede títulos duplicados em baralhos
- ✅ Impede perguntas duplicadas em flashcards
- ✅ Valida IDs antes de qualquer operação
- ✅ Confirmação antes de deletar dados
- ✅ Mensagens de erro formatadas e coloridas
- ✅ Exclusão em Cascata: Remover baralho delete automaticamente seus flashcards
- 🎭 Cores Personalizadas: Menu em roxo, sucessos em rosa/verde, erros em vermelho
- 🖥️ Terminal Responsivo: Interface adaptada para diferentes tamanhos de terminal
- ⌨️ Entrada Interativa: Prompts claros e intuitivos
{
id: 1,
titulo: "JavaScript"
}{
id: 1,
pergunta: "O que é JavaScript?",
resposta: "Uma linguagem de programação...",
idBaralho: 1
}- Node.js - Runtime JavaScript
- JavaScript (ES Modules) - Linguagem e modularização
- prompt-sync - Entrada interativa via terminal
- Cores ANSI - Formatação de cores no terminal
- ✅ Modularização com ES Modules
- ✅ Padrão CRUD completo
- ✅ Manipulação de arrays e objetos
- ✅ Validação de dados
- ✅ Programação interativa
- ✅ Tratamento de erros
- ✅ Organização de projetos
Contribuições são bem-vindas! Você pode:
- 🐛 Reportar bugs
- 💡 Sugerir novas funcionalidades
- 📝 Melhorar a documentação
- 🔧 Enviar pull requests
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- Felipe Portela - @JigsawCesar
- Lucas Eduardo Galvão Rodrigues - @Apollo2210
- Wendel Jhonatan Sauter - @wendel0001
Versão: 1.0.0
Última atualização: Maio de 2026
Status: ✅ Completo e Funcional