#!/usr/bin/env bash # Setup verification script set -e ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$ROOT" echo "🔍 Checking Solace Treasury DApp setup..." echo "" if command -v node &> /dev/null; then echo "✅ Node.js: $(node --version)" else echo "❌ Node.js not found. Please install Node.js >= 18.0.0" exit 1 fi if command -v pnpm &> /dev/null; then echo "✅ pnpm: $(pnpm --version)" else echo "❌ pnpm not found. Install with: npm install -g pnpm" exit 1 fi if command -v psql &> /dev/null; then echo "✅ PostgreSQL: $(psql --version | head -n1)" else echo "⚠️ PostgreSQL not found (required for database)" fi if [ -d "node_modules" ]; then echo "✅ Dependencies installed" else echo "❌ Dependencies not installed. Run: pnpm install" exit 1 fi if [ -d "contracts/artifacts" ]; then echo "✅ Contracts compiled" else echo "⚠️ Contracts not compiled. Run: cd contracts && pnpm run compile" fi echo "" echo "📋 Environment files:" for f in frontend/.env.local backend/.env backend/.env.indexer contracts/.env; do if [ -f "$f" ]; then echo "✅ $f exists" else echo "⚠️ $f not found" fi done if [ -d "backend/drizzle" ] && [ "$(ls -A backend/drizzle/*.sql 2>/dev/null)" ]; then echo "✅ Database migrations present" else echo "⚠️ Database migrations missing. Run: cd backend && pnpm run db:generate" fi if [ -f "backend/.env" ]; then set -a # shellcheck disable=SC1091 source backend/.env set +a if [ -n "${DATABASE_URL:-}" ] && command -v psql &> /dev/null; then if psql "$DATABASE_URL" -c "SELECT 1;" &> /dev/null; then echo "✅ Database connection successful" else echo "⚠️ Database connection failed (check DATABASE_URL or docker start solace-postgres)" fi fi fi if [ -f "contracts/deployments/chain138.json" ]; then echo "✅ Chain 138 deployment record present" else echo "⚠️ No chain138 deployment — run: cd contracts && pnpm run deploy:chain138" fi echo "" echo "Running audit-env..." bash scripts/audit-env.sh || true echo "" echo "✨ Setup check complete!" echo "" echo "Next steps:" echo "1. cd backend && pnpm run db:migrate && pnpm run db:seed" echo "2. pnpm run sync-env (after deploy)" echo "3. pnpm run dev (frontend :3000, backend :3001)" echo "4. cd backend && pnpm run indexer:start"