Skip to content

theFirstCodeManiac/ttl-archival-service

Β 
Β 

Repository files navigation

TTL-Aware Automated Archival Service

A comprehensive full-stack TTL-aware automated archival service with Stellar blockchain integration, featuring React frontend, FastAPI backend, and Soroban smart contracts for decentralized data management.

πŸš€ Project Status: Scaffolded & Ready for Contributions

This project is now fully scaffolded and ready for community contributions! We've set up the complete project structure with frontend, backend, smart contracts, and all necessary tooling.

🎯 Next Step: Create GitHub Issues to start community-driven development!

πŸ—οΈ Architecture Overview

πŸ“¦ Monorepo Structure

ttl-archival-service/
β”œβ”€β”€ frontend/          # React + TypeScript + Tailwind CSS
β”œβ”€β”€ backend/           # FastAPI + SQLAlchemy + Stellar SDK
β”œβ”€β”€ contracts/         # Stellar Smart Contracts (Rust/Soroban)
β”œβ”€β”€ shared/            # Shared TypeScript types and utilities
β”œβ”€β”€ scripts/           # Development and deployment scripts
└── docs/             # Comprehensive documentation

🌟 Tech Stack

Frontend:

  • βš›οΈ React 18 + TypeScript
  • 🎨 Tailwind CSS + Radix UI
  • πŸ”„ React Query for state management
  • πŸ”— Stellar SDK + Freighter wallet integration
  • πŸ§ͺ Vitest + React Testing Library

Backend:

  • 🐍 FastAPI + SQLAlchemy ORM
  • πŸ—„οΈ PostgreSQL (SQLite for development)
  • ⭐ Stellar SDK for blockchain integration
  • πŸ“‹ Celery + Redis for background tasks
  • πŸ§ͺ pytest with async support

Smart Contracts:

  • πŸ¦€ Rust + Soroban SDK
  • ⭐ Stellar blockchain platform
  • πŸ”§ Soroban CLI for development
  • πŸ§ͺ Built-in testing framework

🎯 Key Features

πŸ”„ TTL-Based Archival

  • Automated data retention with configurable TTL policies
  • Scheduled cleanup of expired records
  • File compression and storage management
  • Policy-based archival rules

⭐ Blockchain Integration

  • Immutable audit trails on Stellar
  • Cryptographic proof of archival
  • Smart contract-based policy enforcement
  • Real-time blockchain verification

🌐 Full-Stack Application

  • Modern React frontend with responsive design
  • RESTful API with comprehensive endpoints
  • Real-time updates and notifications
  • Comprehensive monitoring and analytics

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • Python 3.8+
  • Rust 1.70+
  • Docker (optional)

Setup Development Environment

# Clone the repository
git clone https://github.com/akordavid373/ttl-archival-service.git
cd ttl-archival-service

# Run setup script (installs all dependencies)
./scripts/setup.sh --dev

# Start development servers
npm run dev

Individual Components

# Frontend development
cd frontend && npm run dev

# Backend development  
cd backend && python -m uvicorn app.main:app --reload

# Smart contract development
cd contracts && cargo build

πŸ“‹ How to Contribute

We're ready for community contributions! Here's how to get started:

1. 🎯 Pick an Issue

  • Check GitHub Issues
  • Look for good first issue labels
  • Start with simple tasks to get familiar

2. πŸ”§ Set Up Environment

git clone https://github.com/YOUR_USERNAME/ttl-archival-service.git
cd ttl-archival-service
./scripts/setup.sh --dev

3. πŸš€ Make Your Contribution

  • Create a feature branch
  • Make your changes
  • Add tests
  • Submit a Pull Request

4. πŸ“š Read the Guidelines

🎯 Priority Areas for Contributions

πŸ”₯ High Priority

  1. Backend API Implementation - Core functionality
  2. Frontend UI Development - User interface components
  3. Stellar Integration - Blockchain features
  4. Testing Infrastructure - Quality assurance

πŸ“‹ Good First Issues

  • UI components (buttons, forms, layouts)
  • API endpoint implementations
  • Documentation improvements
  • Test case additions

πŸ—οΈ Current Project Status

βœ… Completed (Scaffolded)

  • Project structure and monorepo setup
  • Frontend scaffold (React + TypeScript)
  • Backend scaffold (FastAPI + SQLAlchemy)
  • Smart contract scaffold (Stellar/Soroban)
  • Development environment and scripts
  • Documentation and contribution guidelines
  • CI/CD configuration
  • Docker containerization

🚧 Ready for Development

  • Backend API implementation
  • Frontend component development
  • Smart contract logic
  • Testing infrastructure
  • Documentation enhancement

πŸ“š Documentation

πŸ§ͺ Testing

# Run all tests
npm run test

# Frontend tests
npm run test:frontend

# Backend tests
npm run test:backend

# Contract tests
npm run test:contracts

🐳 Docker Deployment

# Build and run with Docker
npm run docker:build
npm run docker:up

# View logs
npm run docker:logs

# Stop services
npm run docker:down

🌐 Network Configuration

Stellar Networks

  • Standalone - Local development
  • Futurenet - Stellar testnet
  • Public - Stellar mainnet

Environment Variables

# Copy and configure
cp .env.example .env

# Key variables
DATABASE_URL=postgresql://...
STELLAR_NETWORK=testnet
CONTRACT_ID=your_contract_id

πŸ“Š Project Metrics

  • Languages: TypeScript, Python, Rust
  • Frameworks: React, FastAPI, Soroban
  • Blockchain: Stellar
  • Testing: Vitest, pytest, Soroban test framework
  • Deployment: Docker, Kubernetes

🀝 Community

  • GitHub Issues: For bug reports and feature requests
  • GitHub Discussions: For general questions
  • Contributors: Welcome from all skill levels
  • Maintainers: @akordavid373

🎯 Next Steps

  1. Create Issues - Define specific tasks for contributors
  2. Set Up Labels - Organize issues by difficulty and type
  3. Welcome Contributors - Provide guidance and support
  4. Review PRs - Ensure quality and consistency
  5. Release MVP - Deploy first working version

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸŽ‰ Ready to Build?

The project is fully scaffolded and waiting for contributors like you!

πŸš€ Check out open issues and start contributing today!

Whether you're interested in frontend development, backend APIs, smart contracts, or documentation - there's a place for you in this project.

Let's build something amazing together! ⭐

About

A comprehensive full-stack TTL-aware automated archival service with blockchain integration, featuring React frontend, FastAPI backend, and smart contracts for decentralized data management.

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 49.9%
  • PowerShell 12.7%
  • Shell 10.6%
  • TypeScript 9.1%
  • Rust 8.6%
  • Makefile 3.6%
  • Other 5.5%