# RDM in Haskell **Repository Path**: charlize/rdm-in-haskell ## Basic Information - **Project Name**: RDM in Haskell - **Description**: RDM in Haskell - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-30 - **Last Updated**: 2025-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RDM Haskell - DVC-Compatible Data Sharing Service A DVC-compatible data sharing service built with Haskell and Elm, designed for LAN deployment with MinIO storage backend and Gitea for metadata management. ## Overview This service provides a web-based interface for DVC data management, allowing users to: - Browse and download data items through a web UI - Upload data with automatic DVC file generation - Use as a DVC HTTP remote for seamless integration with existing DVC workflows - Maintain version control through Git/Gitea integration ## Architecture The system consists of specialized microservices: - **MinIO Server**: S3-compatible storage backend for all data files - **Gitea Server**: Git repository hosting for DVC metadata and data registry - **API Service**: Web UI and REST endpoints (Haskell + Elm) - **DVC Proxy Service**: Implements DVC HTTP remote protocol - **Processing Service**: Background processing for uploads and DVC file generation ## Quick Start ### Prerequisites See [Development Setup](docs/development.md) for required dependencies. ### Local Development ```bash # Clone the repository git clone cd rdm-haskell # Start infrastructure services docker-compose up -d minio gitea # Build and start application services stack build stack exec rdm-api & stack exec rdm-dvc-proxy & stack exec rdm-processor & ``` ### Production Deployment ```bash # Deploy all services docker-compose up -d ``` Access the web interface at `http://localhost:3000` ## Documentation - [Architecture](docs/architecture.md) - Detailed system design - [Development Setup](docs/development.md) - Development environment setup - [API Documentation](docs/api.md) - REST API specifications - [Deployment Guide](docs/deployment.md) - Production deployment instructions - [Roadmap](docs/roadmap.md) - Future enhancements and planned features ## Technology Stack - **Backend**: Haskell (Servant/Scotty) - **Frontend**: Elm - **Storage**: MinIO (S3-compatible) - **Version Control**: Gitea - **Containerization**: Docker & Docker Compose ## Features - ✅ Web-based data browsing and management - ✅ DVC HTTP remote compatibility - ✅ Automatic DVC file generation - ✅ Git integration for metadata versioning - ✅ MinIO storage backend - ✅ Microservices architecture - 🚧 User authentication (planned) - 🚧 Data encryption (planned) - 🚧 Multi-region replication (planned) ## License [License information] ## Contributing [Contributing guidelines]