Skip to content

Bidroiddroid/flashcards-rc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flashcards RC

Sistema web completo para geração, curadoria e exportação de flashcards a partir de PDFs (texto ou imagem), com interface moderna, modular e responsiva. Permite upload de PDF, seleção visual de páginas, extração de texto (com OCR automático), prompts customizados por matéria, geração via OpenAI, curadoria visual, detecção de duplicatas/similares, exportação para Anki (.apkg) e barra de pesquisa inteligente.

Principais Funcionalidades

  • Upload de PDF (texto ou imagem)
  • Seleção visual de páginas e miniaturas
  • Extração de texto com fallback OCR (Tesseract)
  • Geração de flashcards via OpenAI (prompts customizáveis)
  • Curadoria visual: edição, exclusão, mesclagem, grid responsivo
  • Detecção de duplicatas/similares
  • Exportação para Anki (.apkg) com nome igual ao PDF
  • Barra de pesquisa inteligente
  • Logs detalhados e endpoints de debug

Instalação em VPS Debian 12

1. Instale dependências do sistema

sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-venv python3-pip git tesseract-ocr tesseract-ocr-por poppler-utils

2. Clone o repositório

git clone https://github.com/Bidroiddroid/flashcards-rc.git
cd flashcards-rc

3. Crie e ative o ambiente virtual Python

python3 -m venv .venv
source .venv/bin/activate

4. Instale as dependências Python

pip install --upgrade pip
pip install -r requirements.txt

5. (Opcional) Configure variáveis de ambiente para o Tesseract

Se necessário, adicione ao início do app.py:

import os
os.environ['TESSDATA_PREFIX'] = '/usr/share/tesseract-ocr/4.00/tessdata'

6. Execute o servidor Flask

python app.py

O sistema estará disponível em http://localhost:5000

7. (Opcional) Execute em background com systemd

Crie o arquivo /etc/systemd/system/flashcards-rc.service:

[Unit]
Description=Flashcards RC
After=network.target

[Service]
User=www-data
WorkingDirectory=/caminho/para/flashcards-rc
ExecStart=/caminho/para/flashcards-rc/.venv/bin/python app.py
Restart=always

[Install]
WantedBy=multi-user.target

Ative e inicie:

sudo systemctl daemon-reload
sudo systemctl enable --now flashcards-rc

Observações

  • O Tesseract e o pacote de idioma português (tesseract-ocr-por) são obrigatórios para OCR.
  • O arquivo .apkg exportado terá o mesmo nome do PDF enviado.
  • Para uso com OpenAI, configure sua API Key na interface.
  • Para produção, recomenda-se usar um servidor WSGI (ex: gunicorn) e um proxy reverso (ex: nginx).

Licença

MIT


Contribuições e feedbacks são bem-vindos!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published