Caracteristicas y Especificaciones
El proyecto nace de una necesidad real: optimizar el estudio autodidacta en áreas como redes, hacking ético y programación, transformando archivos Markdown en conocimiento interactivo y navegable.
🛠️ Características Técnicas Destacadas
- Motor de Búsqueda FTS5 de Alto Rendimiento: Implementación con SQL directo (sin ORM) sobre SQLite, con gestión inteligente de transacciones para evitar bloqueos (database is locked). Indexa archivos Markdown, glosario y checklist con soporte para sinónimos y stemming.
- Arquitectura Blueprint y Migraciones Versionadas: Organización modular en
general_bp,task_bpydata_bp. Migraciones de base de datos gestionadas con Alembic y versionadas en el repositorio (migrations/), garantizando la evolución controlada del esquema. - Seguridad y Mantenibilidad: Protección contra Path Traversal en rutas de imágenes (
_is_plain_basename), soporte para HTTPS nativo (SSL opcional), CSRF activo en producción y un riguroso sistema de pre-commit hooks (Ruff, Bandit, detect-secrets y Pytest). - Suite de Tests y Calidad de Código: Batería completa de 63 tests con 76% de cobertura (
pytest-cov), asegurando el correcto funcionamiento de modelos, rutas y el core de búsqueda. Incluye linter (Ruff) y formateo automático. - Renderizado Inteligente de Markdown: Soporte para sintaxis tipo Obsidian (
![[imagen.png]]), con resolución dinámica de imágenes y renderizado de código con resaltado de sintaxis. - Gestión de Tareas Avanzada: Calendario interactivo (FullCalendar) con drag & drop, tareas recurrentes, y API REST para alternar estados vía JSON. Renombramiento de columnas críticas (
type→task_type) para evitar colisiones con el ORM.
⚙️ Tecnologías y Herramientas
- Backend: Python 3.11, Flask 3, SQLAlchemy, Alembic.
- Base de Datos: SQLite con extensión FTS5 (búsqueda de texto completo).
- Frontend: FullCalendar, Tailwind CSS, JavaScript nativo.
- Calidad y CI: Pytest, Ruff, Pre-commit (Bandit, detect-secrets, pydocstyle).
- DevOps: Dockerfile optimizado, Gunicorn, variables de entorno para despliegue.
Para conocer mas:
¿Interesado en la implementación? Explora el código fuente y la documentación detallada del proyecto en mi repositorio de GitHub.
Ver codigo del proyecto