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.
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!
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
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
- Automated data retention with configurable TTL policies
- Scheduled cleanup of expired records
- File compression and storage management
- Policy-based archival rules
- Immutable audit trails on Stellar
- Cryptographic proof of archival
- Smart contract-based policy enforcement
- Real-time blockchain verification
- Modern React frontend with responsive design
- RESTful API with comprehensive endpoints
- Real-time updates and notifications
- Comprehensive monitoring and analytics
- Node.js 18+
- Python 3.8+
- Rust 1.70+
- Docker (optional)
# 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# Frontend development
cd frontend && npm run dev
# Backend development
cd backend && python -m uvicorn app.main:app --reload
# Smart contract development
cd contracts && cargo buildWe're ready for community contributions! Here's how to get started:
- Check GitHub Issues
- Look for
good first issuelabels - Start with simple tasks to get familiar
git clone https://github.com/YOUR_USERNAME/ttl-archival-service.git
cd ttl-archival-service
./scripts/setup.sh --dev- Create a feature branch
- Make your changes
- Add tests
- Submit a Pull Request
- CONTRIBUTING.md - Detailed contribution guide
- CODE_OF_CONDUCT.md - Community guidelines
- ROADMAP.md - Project development plan
- Backend API Implementation - Core functionality
- Frontend UI Development - User interface components
- Stellar Integration - Blockchain features
- Testing Infrastructure - Quality assurance
- UI components (buttons, forms, layouts)
- API endpoint implementations
- Documentation improvements
- Test case additions
- 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
- Backend API implementation
- Frontend component development
- Smart contract logic
- Testing infrastructure
- Documentation enhancement
- API Documentation - Interactive API docs
- Smart Contract Docs - Stellar contract details
- Development Guide - Contribution guidelines
- Project Roadmap - Development phases
# Run all tests
npm run test
# Frontend tests
npm run test:frontend
# Backend tests
npm run test:backend
# Contract tests
npm run test:contracts# 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- Standalone - Local development
- Futurenet - Stellar testnet
- Public - Stellar mainnet
# Copy and configure
cp .env.example .env
# Key variables
DATABASE_URL=postgresql://...
STELLAR_NETWORK=testnet
CONTRACT_ID=your_contract_id- Languages: TypeScript, Python, Rust
- Frameworks: React, FastAPI, Soroban
- Blockchain: Stellar
- Testing: Vitest, pytest, Soroban test framework
- Deployment: Docker, Kubernetes
- GitHub Issues: For bug reports and feature requests
- GitHub Discussions: For general questions
- Contributors: Welcome from all skill levels
- Maintainers: @akordavid373
- Create Issues - Define specific tasks for contributors
- Set Up Labels - Organize issues by difficulty and type
- Welcome Contributors - Provide guidance and support
- Review PRs - Ensure quality and consistency
- Release MVP - Deploy first working version
This project is licensed under the MIT License - see the LICENSE file for details.
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! β