Skip to content

Latest commit

 

History

History
1101 lines (799 loc) · 29.2 KB

File metadata and controls

1101 lines (799 loc) · 29.2 KB

ThemisDB Examples Index

Quick Navigation: Quickstart Guide | Main Examples | API Reference


📚 Overview

ThemisDB provides 37+ comprehensive examples demonstrating its multi-model database capabilities, from basic CRUD operations to advanced AI-powered applications. This index helps you discover and navigate all available examples.

Total Examples:

  • 23 Numbered Example Applications (01-23)
  • 16 Standalone Code Examples (C++ and Python)
  • 5 Specialized Feature Directories

🚀 Quick Start

New to ThemisDB? → Start with the Examples Quickstart Guide

Want a guided tour? → See Learning Paths below

Looking for something specific? → Use the Feature Index


📂 Numbered Examples (01-23)

🟢 Beginner Level

Perfect for getting started with ThemisDB basics.

01. Hello World

Path: examples/01_hello_world/
Difficulty: ⭐ Beginner
Duration: ~5-10 minutes
Language: Python + Tkinter

Your first ThemisDB application. Learn basic CRUD operations (Create, Read, Update, Delete) with a simple user management interface.

You'll Learn:

  • Connecting to ThemisDB
  • Basic data storage and retrieval
  • Simple queries and updates
  • Error handling

Quick Start:

cd examples/01_hello_world
pip install -r requirements.txt
python main.py

Full Guide: README


02. Todo App

Path: examples/02_todo_app/
Difficulty: ⭐ Beginner
Duration: ~15-20 minutes
Language: Python + Tkinter

Task management application with status tracking and filtering. Demonstrates list operations and basic queries.

You'll Learn:

  • Managing lists of items
  • Filtering and sorting data
  • Status and priority management
  • Data organization patterns

Quick Start:

cd examples/02_todo_app
pip install -r requirements.txt
python main.py

Full Guide: README


03. Contact Manager

Path: examples/03_contact_manager/
Difficulty: ⭐ Beginner
Duration: ~15-20 minutes
Language: Python + Tkinter

Address book with full-text search, categorization, and import/export features. Shows the Document Model in action.

You'll Learn:

  • Full-text search capabilities
  • Document model usage
  • Categorization and tagging
  • Data export/import (JSON, CSV)

Quick Start:

cd examples/03_contact_manager
pip install -r requirements.txt
python main.py

Full Guide: README


11. Blog/Wiki System

Path: examples/11_blog_wiki/
Difficulty: ⭐ Beginner
Duration: ~30-40 minutes
Language: Python + Tkinter

Content management system with Markdown support, tagging, and search.

You'll Learn:

  • Content management patterns
  • Markdown processing
  • Tagging systems
  • Search and filtering

Quick Start:

cd examples/11_blog_wiki
pip install -r requirements.txt
python main.py

Full Guide: README


12. Expense Tracker

Path: examples/12_expense_tracker/
Difficulty: ⭐ Beginner
Duration: ~30-40 minutes
Language: Python + Tkinter

Personal finance management with budget tracking and reporting.

You'll Learn:

  • Financial data modeling
  • Aggregation queries
  • Budget management
  • Report generation

Quick Start:

cd examples/12_expense_tracker
pip install -r requirements.txt
python main.py

Full Guide: README


13. Recipe Manager

Path: examples/13_recipe_manager/
Difficulty: ⭐ Beginner
Duration: ~30-40 minutes
Language: Python + Tkinter

Recipe management with ingredients, shopping lists, and meal planning.

You'll Learn:

  • Structured data modeling
  • Relationship management
  • List aggregation
  • Data organization

Quick Start:

cd examples/13_recipe_manager
pip install -r requirements.txt
python main.py

Full Guide: README


🟡 Intermediate Level

Real-world applications demonstrating advanced features.

04. Inventory System

Path: examples/04_inventory_system/
Difficulty: ⭐⭐ Intermediate
Duration: ~30-40 minutes
Language: Python + Tkinter
Features: Multi-Model (Relational + Graph)

Warehouse management with product tracking, supplier relationships, and stock management.

You'll Learn:

  • Multi-model data usage
  • Graph relationships
  • Stock tracking
  • Business logic implementation

Quick Start:

cd examples/04_inventory_system
pip install -r requirements.txt
python main.py

Full Guide: README


05. Time Series Monitor

Path: examples/05_time_series_monitor/
Difficulty: ⭐⭐ Intermediate
Duration: ~30-40 minutes
Language: Python + Tkinter
Features: Time Series, Real-time Visualization

Real-time monitoring system for sensor data with live charts, alerts, and historical analysis.

You'll Learn:

  • Time series data handling
  • Real-time data visualization
  • Alert systems
  • Historical data analysis

Quick Start:

cd examples/05_time_series_monitor
pip install -r requirements.txt
python main.py

Full Guide: README


06. Graph Social Network

Path: examples/06_graph_social_network/
Difficulty: ⭐⭐ Intermediate
Duration: ~40-50 minutes
Language: Python + Tkinter
Features: Graph Database, Community Detection

Social network with friendship graphs, community detection, and interactive visualization.

You'll Learn:

  • Graph data structures
  • Relationship queries
  • Community detection algorithms
  • Graph visualization with NetworkX

Quick Start:

cd examples/06_graph_social_network
pip install -r requirements.txt
python main.py

Full Guide: README


07. Vector Search Documents

Path: examples/07_vector_search_documents/
Difficulty: ⭐⭐ Intermediate
Duration: ~40-50 minutes
Language: Python + Tkinter
Features: Vector Search, RAG, Embeddings

Document search system using vector embeddings and semantic search capabilities.

You'll Learn:

  • Vector embeddings generation
  • Semantic search
  • RAG (Retrieval Augmented Generation) patterns
  • Document similarity

Quick Start:

cd examples/07_vector_search_documents
pip install -r requirements.txt
python main.py

Full Guide: README | Vector Search Guide


14. E-Commerce Catalog

Path: examples/14_ecommerce_catalog/
Difficulty: ⭐⭐ Intermediate
Duration: ~60 minutes
Language: Python + Tkinter
Features: Multi-Model, Recommendations

Multi-model product catalog with recommendations, reviews, and inventory management.

You'll Learn:

  • E-commerce data modeling
  • Product relationships
  • Review systems
  • Basic recommendation algorithms

Quick Start:

cd examples/14_ecommerce_catalog
pip install -r requirements.txt
python main.py

Full Guide: README


15. Event Management

Path: examples/15_event_management/
Difficulty: ⭐⭐ Intermediate
Duration: ~60 minutes
Language: Python + Tkinter

Event planning system with ticketing, attendee management, and scheduling.

You'll Learn:

  • Event data modeling
  • Ticketing systems
  • Attendance tracking
  • Schedule management

Quick Start:

cd examples/15_event_management
pip install -r requirements.txt
python main.py

Full Guide: README


16. Kanban Board

Path: examples/16_kanban_board/
Difficulty: ⭐⭐ Intermediate
Duration: ~60 minutes
Language: Python + Tkinter

Agile project management with sprints, tasks, and team collaboration features.

You'll Learn:

  • Agile workflow implementation
  • Task state management
  • Sprint planning
  • Team collaboration patterns

Quick Start:

cd examples/16_kanban_board
pip install -r requirements.txt
python main.py

Full Guide: README


17. CRM

Path: examples/17_crm/
Difficulty: ⭐⭐ Intermediate
Duration: ~60-90 minutes
Language: Python + Tkinter

Customer Relationship Management system with lead tracking, sales pipeline, and reporting.

You'll Learn:

  • CRM data modeling
  • Sales pipeline management
  • Customer interaction tracking
  • Business reporting

Quick Start:

cd examples/17_crm
pip install -r requirements.txt
python main.py

Full Guide: README


🔴 Advanced Level

Enterprise and AI-powered applications.

08. DMS/ERP System

Path: examples/08_dms_erp_system/
Difficulty: ⭐⭐⭐ Advanced
Duration: ~60-90 minutes
Language: Python + Tkinter
Features: Document Management, Workflows, RBAC

Complete Document Management System with ERP features, versioning, workflows, and audit logging.

You'll Learn:

  • Document management patterns
  • Version control systems
  • Workflow automation
  • Role-based access control (RBAC)
  • Audit logging

Quick Start:

cd examples/08_dms_erp_system
pip install -r requirements.txt
python main.py

Full Guide: README


09. IoT Sensor Network

Path: examples/09_iot_sensor_network/
Difficulty: ⭐⭐⭐ Advanced
Duration: ~60-90 minutes
Language: Python + Tkinter
Features: IoT, Real-time Processing, CEP

Real-time IoT data processing with Complex Event Processing (CEP) and visualization.

You'll Learn:

  • IoT data ingestion
  • Real-time event processing
  • Complex Event Processing (CEP)
  • Sensor network management

Quick Start:

cd examples/09_iot_sensor_network
pip install -r requirements.txt
python main.py

Full Guide: README


10. Drone Image Analysis

Path: examples/10_drone_image_analysis/
Difficulty: ⭐⭐⭐ Advanced
Duration: ~90-120 minutes
Language: Python + Tkinter
Features: Computer Vision, LLM Integration, Image Analysis

AI-powered image analysis with computer vision and LLM integration for drone imagery.

You'll Learn:

  • Image processing with OpenCV
  • LLM integration for analysis
  • Computer vision techniques
  • AI-powered insights

Quick Start:

cd examples/10_drone_image_analysis
pip install -r requirements.txt
python main.py

Full Guide: README | LLM Integration


18. Real-Time Chat

Path: examples/18_realtime_chat/
Difficulty: ⭐⭐⭐ Advanced
Duration: ~90-120 minutes
Language: Python + Tkinter
Features: Real-time Communication, Pub/Sub

Real-time chat application with message history, user presence, and typing indicators.

You'll Learn:

  • Real-time communication patterns
  • Pub/Sub messaging
  • Message persistence
  • User presence tracking

Quick Start:

cd examples/18_realtime_chat
pip install -r requirements.txt
python main.py

Full Guide: README


19. Recommendation Engine

Path: examples/19_recommendation_engine/
Difficulty: ⭐⭐⭐ Advanced
Duration: ~90-120 minutes
Language: Python + Tkinter
Features: Machine Learning, Collaborative Filtering

ML-based recommendation system with collaborative filtering and content-based recommendations.

You'll Learn:

  • Recommendation algorithms
  • Collaborative filtering
  • Content-based filtering
  • ML integration with ThemisDB

Quick Start:

cd examples/19_recommendation_engine
pip install -r requirements.txt
python main.py

Full Guide: README


20. Smart Home Dashboard

Path: examples/20_smart_home/
Difficulty: ⭐⭐⭐ Advanced
Duration: ~90-120 minutes
Language: Python + Tkinter
Features: IoT Automation, CEP, Device Control

Smart home automation with device control, automation rules, and energy monitoring.

You'll Learn:

  • IoT device management
  • Automation rule engines
  • Energy monitoring
  • Smart home patterns

Quick Start:

cd examples/20_smart_home
pip install -r requirements.txt
python main.py

Full Guide: README


21. Coding Platform

Path: examples/21_coding_platform/
Difficulty: ⭐⭐⭐ Advanced
Duration: ~90-120 minutes
Language: Python + Tkinter
Features: Code Management, VSCode Integration, Web Scraping

ThemisDB as intelligent code management platform with VSCode integration and web scraping capabilities.

You'll Learn:

  • Code storage and retrieval
  • VSCode integration patterns
  • Web scraping for code examples
  • Developer tool integration

Quick Start:

cd examples/21_coding_platform
pip install -r requirements.txt
python main.py

Full Guide: README


22. AQL Diagram Tool

Path: examples/22_aql_diagram_tool/
Difficulty: ⭐⭐ Intermediate
Duration: ~30-40 minutes
Language: C# .NET 8.0
Features: ERD Generation, DFD, AQL Query Templates

Powerful C# tool for generating Entity-Relationship Diagrams (ERD), Data Flow Diagrams (DFD), and AQL query templates.

You'll Learn:

  • Schema visualization
  • ERD and DFD generation
  • AQL query generation
  • Mermaid diagram format

Quick Start:

cd examples/22_aql_diagram_tool/ThemisDB.AqlDiagramTool
dotnet build
dotnet run example todo

Full Guide: README


23. Traveling Salesman Problem

Path: examples/23_traveling_salesman/
Difficulty: ⭐⭐ Intermediate
Duration: ~40-50 minutes
Language: Python + Tkinter
Features: Graph Algorithms, Route Optimization, TSP Solutions

Demonstrates solving the classic Traveling Salesman Problem (TSP) using ThemisDB's graph features. Compare multiple algorithms including Brute Force, Nearest Neighbor, and 2-Opt heuristics.

You'll Learn:

  • Graph-based optimization problems
  • TSP algorithms (Brute Force, Greedy, 2-Opt)
  • Route visualization with Matplotlib
  • Algorithm performance comparison
  • Weighted graph operations in ThemisDB

Quick Start:

cd examples/23_traveling_salesman
pip install -r requirements.txt
python main.py

Full Guide: README | Algorithm Details


💻 Standalone Code Examples

LLM Integration

Embedded LLM Examples

Path: examples/embedded_llm_examples.cpp
Language: C++

Demonstrates embedding LLM capabilities directly in ThemisDB for inference and text generation.


Chat Formatting Example

Path: examples/chat_formatting_example.cpp
Language: C++

Shows how to format chat messages for LLM processing with proper templates and context management.


Themis Help LoRA Example

Path: examples/themis_help_lora_example.cpp
Language: C++

Demonstrates using LoRA (Low-Rank Adaptation) for fine-tuning models with ThemisDB help system.

Related: THEMIS_HELP_LORA_README


LLM Metrics Example

Path: examples/example_llm_metrics.cpp
Language: C++

Shows how to collect and monitor LLM performance metrics within ThemisDB.


Data Retention & Archival

Adaptive Retention Example

Path: examples/adaptive_retention_example.cpp
Language: C++

Demonstrates adaptive data retention policies that automatically adjust based on usage patterns.


Data Retention Downsampling

Path: examples/data_retention_downsampling_example.cpp
Language: C++

Shows downsampling techniques for time-series data to reduce storage while preserving trends.


Hybrid Retention Usage

Path: examples/hybrid_retention_usage_example.cpp
Language: C++

Combines multiple retention strategies for optimal storage and performance.


Archive Pipeline

Path: examples/archive_pipeline.py
Language: Python

Complete archival pipeline for moving data between storage tiers.


Performance & Scalability

Multi-SSD Configuration

Path: examples/example_multi_ssd_configuration.cpp
Language: C++

Demonstrates configuring ThemisDB to use multiple SSDs for improved I/O performance.


Sharding Demo

Path: examples/sharding_demo.cpp
Language: C++

Shows how to configure and use data sharding for horizontal scalability.


Task Scheduler Integration

Path: examples/task_scheduler_integration_example.cpp
Language: C++

Integrates ThemisDB with task scheduling for background operations.


Optimization Standalone Test

Path: examples/test_optimization_standalone.cpp
Language: C++

Performance optimization testing and benchmarking utilities.


High Availability

Hot Reload Example

Path: examples/hot_reload_example.cpp
Language: C++

Demonstrates hot-reloading configuration changes without downtime.


Hot Spare Example

Path: examples/hot_spare_example.cpp
Language: C++

Shows hot spare configuration for high-availability deployments.


Security

Vector Encryption Example

Path: examples/example_vector_encryption.cpp
Language: C++

Demonstrates encryption of vector embeddings for secure similarity search.


AI Decision Auditing

Path: examples/example_ai_auditing.cpp
Language: C++

Shows how to audit AI decision-making processes for compliance and transparency.


Voice & Audio

Voice Assistant Example

Path: examples/voice_assistant_example.py
Language: Python

Demonstrates building a voice-controlled assistant using ThemisDB for data storage and retrieval.


🔧 Specialized Feature Directories

Feedback Plugins

Path: examples/feedback_plugins/

Plugin system for collecting and processing user feedback with validation.

Contents:

  • feedback_validator.py - Feedback validation plugin
  • README.md - Plugin documentation

Geospatial Features

Path: examples/geo/

Geospatial data processing and 3D visualization examples.

Contents:

  • example_3d.cpp - 3D geospatial data visualization

Image Analysis

Path: examples/image_analysis/

Computer vision and image processing examples.

Contents:

  • image_analysis_example.cpp - Image analysis integration

NLP Features

Path: examples/nlp/

Natural Language Processing integration examples.

Contents:

  • Various NLP processing examples
  • README.md - NLP feature documentation

Railway Deployment

Path: examples/railway/

Complete deployment example for Railway platform with live monitoring.

Contents:

  • docker-compose.railway.yml - Railway deployment config
  • live_map.html - Live monitoring dashboard
  • railway_base_data_generator.cpp - Sample data generator
  • quick-start.sh / quick-start.ps1 - Quick start scripts
  • README.md - Deployment guide
  • DEPLOYMENT.md - Detailed deployment instructions

🎯 Learning Paths

Path 1: Web Developer

Goal: Build web applications with ThemisDB

Recommended Sequence:

  1. 01 - Hello World - Learn basics
  2. 02 - Todo App - CRUD operations
  3. 11 - Blog/Wiki - Content management
  4. 17 - CRM - Business applications
  5. 18 - Real-Time Chat - Real-time features

Estimated Time: 1-2 weeks


Path 2: Data Engineer

Goal: Handle time-series and analytical workloads

Recommended Sequence:

  1. 01 - Hello World - Learn basics
  2. 05 - Time Series Monitor - Time-series data
  3. 09 - IoT Sensor Network - Real-time processing
  4. Data Retention Examples - Archival strategies
  5. Sharding Demo - Scalability

Estimated Time: 1-2 weeks


Path 3: ML Engineer

Goal: Build AI-powered applications

Recommended Sequence:

  1. 01 - Hello World - Learn basics
  2. 07 - Vector Search - Embeddings & RAG
  3. 10 - Drone Image Analysis - Computer vision
  4. 19 - Recommendation Engine - ML models
  5. LLM Examples - Language model integration

Estimated Time: 2-3 weeks


Path 4: Systems Architect

Goal: Design scalable, high-performance systems

Recommended Sequence:

  1. 01 - Hello World - Learn basics
  2. 04 - Inventory System - Multi-model design
  3. 08 - DMS/ERP - Enterprise patterns
  4. Performance Examples - Optimization
  5. HA Examples - High availability

Estimated Time: 2-3 weeks


Path 5: IoT Developer

Goal: Build IoT and real-time systems

Recommended Sequence:

  1. 01 - Hello World - Learn basics
  2. 05 - Time Series Monitor - Real-time data
  3. 09 - IoT Sensor Network - IoT patterns
  4. 20 - Smart Home - Automation
  5. Voice Assistant - Voice control

Estimated Time: 1-2 weeks


📊 Examples by Feature

Multi-Model Database

Vector Search & Embeddings

LLM Integration

Time Series

Real-Time Processing

Graph Database

Machine Learning

Performance & Scalability

High Availability

Security

Data Management


📦 Technology Stack

Languages

  • Python 3.8+ - Most numbered examples (01-21)
  • C++ - Standalone examples and advanced features
  • C# .NET 8.0 - AQL Diagram Tool (22)

Python Dependencies

Common across examples:

  • Tkinter - GUI framework (standard library)
  • themisdb-client - Database connector

Advanced examples also use:

  • matplotlib - Data visualization
  • NetworkX - Graph algorithms
  • OpenCV - Computer vision
  • sentence-transformers - Text embeddings
  • scikit-learn - Machine learning

Prerequisites

  • ThemisDB Server (Docker recommended)
  • Python 3.8+ or C++ compiler
  • .NET 8.0 SDK (for example 22)

🚀 Getting Started

1. Install ThemisDB Server

Using Docker (Recommended):

docker run -d \
  --name themisdb \
  -p 8080:8080 \
  -p 18765:18765 \
  themisdb/themisdb:latest

Verify Installation:

curl http://localhost:8080/health

2. Choose an Example

Start with the Examples Quickstart Guide or pick a Learning Path.

3. Run the Example

cd examples/[example_name]
pip install -r requirements.txt  # For Python examples
python main.py                   # Or appropriate start command

📚 Additional Resources


🤝 Contributing

Want to add a new example or improve existing ones?

  1. Follow the structure in existing examples
  2. Include comprehensive README.md and HOW_TO.md
  3. Add comments and documentation
  4. Include screenshots or demo videos
  5. Test thoroughly
  6. Submit a pull request

See CONTRIBUTING.md for detailed guidelines.


🆘 Getting Help

Issues or Questions?


📝 Example Template

When creating new examples, follow this structure:

examples/XX_example_name/
├── README.md              # Overview, features, quick start
├── HOW_TO.md             # Step-by-step guide
├── requirements.txt       # Dependencies
├── main.py               # Main application
├── themis_client.py      # DB client wrapper
└── screenshots/          # UI screenshots (optional)

For complex examples, add:

├── ARCHITECTURE.md       # System design
├── DATA_MODEL.md         # Data structures
├── DEPLOYMENT.md         # Deployment guide
└── src/                  # Organized source code
    ├── ui/
    ├── models/
    ├── services/
    └── utils/

Last Updated: 2026-01-12
Version: 1.0
Status: ✅ Complete