Skip to content

Implement database storage with optional cloud support #21

@chriscarrollsmith

Description

@chriscarrollsmith

This issue consolidates #19 (Store in database rather than JSON) and #9 (Optional cloud storage for orchestration across containers).

Current Implementation

Currently, TaskManager stores data in JSON files using the file system, with platform-specific paths.

Proposed Changes

  1. Database Storage:

    • Use SQLite by default (replacing JSON files) for better reliability and performance
    • Provide a configurable adapter pattern for database access
    • Support for concurrent connections
  2. Optional Cloud Storage:

    • Add capability to store data in cloud services
    • Enable orchestration across multiple containers
    • Allow configuration via environment variables or config file
    • Support synchronization between local and remote storage

Benefits

  • Better data integrity with database transactions
  • Support for multiple instances sharing the same data
  • Scalability across containers
  • Configurable storage options based on user needs

Implementation Notes

  • Create a pluggable storage adapter system
  • SQLite will be the default (no external services required)
  • Add optional support for cloud services like PostgreSQL, MySQL, etc.
  • Ensure backward compatibility with existing JSON format

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions