Migrated from GitHub: hermes-2026-07-13-cpp-json-store
  • C 99.8%
  • C++ 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-13 03:17:11 +00:00
docs feat: cpp-json-store - C++23 JSON document store with SQLite backend 2026-07-13 03:17:11 +00:00
include feat: cpp-json-store - C++23 JSON document store with SQLite backend 2026-07-13 03:17:11 +00:00
src feat: cpp-json-store - C++23 JSON document store with SQLite backend 2026-07-13 03:17:11 +00:00
tests feat: cpp-json-store - C++23 JSON document store with SQLite backend 2026-07-13 03:17:11 +00:00
.gitignore feat: cpp-json-store - C++23 JSON document store with SQLite backend 2026-07-13 03:17:11 +00:00
CMakeLists.txt feat: cpp-json-store - C++23 JSON document store with SQLite backend 2026-07-13 03:17:11 +00:00
CMakePresets.json feat: cpp-json-store - C++23 JSON document store with SQLite backend 2026-07-13 03:17:11 +00:00
Dockerfile feat: cpp-json-store - C++23 JSON document store with SQLite backend 2026-07-13 03:17:11 +00:00
README.md feat: cpp-json-store - C++23 JSON document store with SQLite backend 2026-07-13 03:17:11 +00:00

cpp-json-store

Almacén de documentos JSON con respaldo SQLite — herramienta CLI en C++23.

Características

  • Almacenamiento y recuperación de documentos JSON con clave única
  • Búsqueda de texto completo en documentos y claves
  • Listado con filtro por prefijo
  • Importación/exportación de colecciones JSON
  • Operaciones CRUD completas desde línea de comandos
  • Persistencia SQLite con WAL mode para concurrencia
  • Logging estructurado con spdlog
  • Cobertura de tests con Catch2

Requisitos

  • CMake 3.28+
  • Compilador C++23 (GCC 14+ / Clang 18+)
  • SQLite3 (development headers)
  • Ninja (opcional, recomendado)

Compilar

cmake --preset debug
cmake --build --preset debug

Uso

# Almacenar un documento
./build/debug/jsonstore put --key "user:1" --value '{"name":"Alice","role":"admin"}'

# Recuperar un documento
./build/debug/jsonstore get --key "user:1"

# Listar documentos con prefijo
./build/debug/jsonstore list --prefix "user:"

# Buscar documentos
./build/debug/jsonstore search --search "Alice"

# Contar documentos
./build/debug/jsonstore count

# Importar desde archivo JSON
./build/debug/jsonstore import --file data.json

# Exportar todos los documentos
./build/debug/jsonstore export

Tests

cd build/debug && ctest --output-on-failure

Licencia

MIT