Files
explorer-monorepo/scripts/verify-tiered-architecture.sh

154 lines
3.4 KiB
Bash
Executable File

#!/bin/bash
# Verify tiered architecture implementation
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
echo "=== Verifying Tiered Architecture Implementation ==="
echo ""
ERRORS=0
WARNINGS=0
# Check 1: Database migration file exists
echo -n "Checking migration file... "
if [ -f "$PROJECT_ROOT/backend/database/migrations/0010_track_schema.up.sql" ]; then
echo "✅"
else
echo "❌"
((ERRORS++))
fi
# Check 2: Feature flags implementation
echo -n "Checking feature flags... "
if [ -f "$PROJECT_ROOT/backend/featureflags/flags.go" ]; then
echo "✅"
else
echo "❌"
((ERRORS++))
fi
# Check 3: Wallet auth
echo -n "Checking wallet authentication... "
if [ -f "$PROJECT_ROOT/backend/auth/wallet_auth.go" ]; then
echo "✅"
else
echo "❌"
((ERRORS++))
fi
# Check 4: Auth middleware
echo -n "Checking auth middleware... "
if [ -f "$PROJECT_ROOT/backend/api/middleware/auth.go" ]; then
echo "✅"
else
echo "❌"
((ERRORS++))
fi
# Check 5: Track implementations
echo -n "Checking Track 1... "
if [ -f "$PROJECT_ROOT/backend/api/track1/endpoints.go" ]; then
echo "✅"
else
echo "❌"
((ERRORS++))
fi
echo -n "Checking Track 2... "
if [ -f "$PROJECT_ROOT/backend/api/track2/endpoints.go" ]; then
echo "✅"
else
echo "❌"
((ERRORS++))
fi
echo -n "Checking Track 3... "
if [ -f "$PROJECT_ROOT/backend/api/track3/endpoints.go" ]; then
echo "✅"
else
echo "❌"
((ERRORS++))
fi
echo -n "Checking Track 4... "
if [ -f "$PROJECT_ROOT/backend/api/track4/endpoints.go" ]; then
echo "✅"
else
echo "❌"
((ERRORS++))
fi
# Check 6: Indexers
echo -n "Checking Track 2 indexers... "
if [ -f "$PROJECT_ROOT/backend/indexer/track2/block_indexer.go" ] && \
[ -f "$PROJECT_ROOT/backend/indexer/track2/tx_indexer.go" ] && \
[ -f "$PROJECT_ROOT/backend/indexer/track2/token_indexer.go" ]; then
echo "✅"
else
echo "❌"
((ERRORS++))
fi
# Check 7: Analytics
echo -n "Checking analytics engine... "
if [ -f "$PROJECT_ROOT/backend/analytics/flow_tracker.go" ] && \
[ -f "$PROJECT_ROOT/backend/analytics/bridge_analytics.go" ]; then
echo "✅"
else
echo "❌"
((ERRORS++))
fi
# Check 8: Route integration
echo -n "Checking route integration... "
if [ -f "$PROJECT_ROOT/backend/api/rest/track_routes.go" ]; then
echo "✅"
else
echo "❌"
((ERRORS++))
fi
# Check 9: Documentation
echo -n "Checking documentation... "
if [ -f "$PROJECT_ROOT/docs/api/track-api-contracts.md" ] && \
[ -f "$PROJECT_ROOT/docs/feature-flags/track-feature-matrix.md" ]; then
echo "✅"
else
echo "⚠️"
((WARNINGS++))
fi
# Check 10: Setup scripts
echo -n "Checking setup scripts... "
if [ -f "$PROJECT_ROOT/scripts/setup-tiered-architecture.sh" ] && \
[ -f "$PROJECT_ROOT/scripts/run-migration-0010.sh" ]; then
echo "✅"
else
echo "⚠️"
((WARNINGS++))
fi
echo ""
echo "=== Summary ==="
echo "Errors: $ERRORS"
echo "Warnings: $WARNINGS"
if [ $ERRORS -eq 0 ]; then
echo ""
echo "✅ All critical components verified!"
echo ""
echo "Next steps:"
echo "1. Run: bash scripts/setup-tiered-architecture.sh"
echo "2. Set JWT_SECRET environment variable"
echo "3. Start the API server"
exit 0
else
echo ""
echo "❌ Some components are missing. Please review errors above."
exit 1
fi