Initial commit: SIBU 2.0 MISSION

This commit is contained in:
2026-02-21 09:53:31 -05:00
commit 0c7aa53c8b
400 changed files with 67708 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,25 @@
#!/bin/bash
# Run Flutter app with backend API connection
# This script runs Flutter with the backend API URL configured
set -e
# Navigate to project root
cd "$(dirname "$0")/.."
# Get API URL from environment or use default
API_BASE_URL="${API_BASE_URL:-http://localhost:8000}"
# Determine device (default to chrome for web)
DEVICE="${1:-chrome}"
echo "🚀 Running Flutter app with backend API..."
echo " API URL: $API_BASE_URL"
echo " Device: $DEVICE"
echo ""
# Run Flutter with environment variables
flutter run -d "$DEVICE" \
--dart-define=API_BASE_URL="$API_BASE_URL"

View File

@ -0,0 +1,65 @@
#!/bin/bash
# Run Flutter app with local Supabase credentials
# This script extracts local Supabase credentials and runs Flutter with them
set -e
# Navigate to project root
cd "$(dirname "$0")/.."
# Check if Supabase is running
if ! supabase status > /dev/null 2>&1; then
echo "❌ Supabase is not running locally."
echo " Please run: ./scripts/setup-local-supabase.sh"
exit 1
fi
# Get Supabase credentials from status
echo "🔍 Getting local Supabase credentials..."
# Get status output
STATUS_OUTPUT=$(supabase status 2>/dev/null)
# Extract URL - look for "API URL" line
SUPABASE_URL=$(echo "$STATUS_OUTPUT" | grep -i "API URL" | sed -E 's/.*(http[^[:space:]]+).*/\1/' | head -1)
# Extract anon key - look for "anon key" line
SUPABASE_ANON_KEY=$(echo "$STATUS_OUTPUT" | grep -i "anon key" | sed -E 's/.*anon key[[:space:]]+([^[:space:]]+).*/\1/' | head -1)
# Alternative: try JSON output if available
if [ -z "$SUPABASE_URL" ] || [ -z "$SUPABASE_ANON_KEY" ]; then
JSON_OUTPUT=$(supabase status --output json 2>/dev/null || echo "")
if [ -n "$JSON_OUTPUT" ]; then
SUPABASE_URL=$(echo "$JSON_OUTPUT" | grep -o '"API URL":"[^"]*' | sed 's/"API URL":"//' | head -1)
SUPABASE_ANON_KEY=$(echo "$JSON_OUTPUT" | grep -o '"anon key":"[^"]*' | sed 's/"anon key":"//' | head -1)
fi
fi
# If still empty, try reading from .env.local or config
if [ -z "$SUPABASE_URL" ] || [ -z "$SUPABASE_ANON_KEY" ]; then
echo "⚠️ Could not automatically extract credentials."
echo " Please run 'supabase status' and manually set:"
echo " SUPABASE_URL and SUPABASE_ANON_KEY"
echo ""
echo " Then run Flutter with:"
echo " flutter run -d chrome --dart-define=SUPABASE_URL=<url> --dart-define=SUPABASE_ANON_KEY=<key>"
exit 1
fi
echo "✅ Found local Supabase credentials"
echo " URL: $SUPABASE_URL"
echo " Key: ${SUPABASE_ANON_KEY:0:20}..."
echo ""
# Determine device (default to chrome for web)
DEVICE="${1:-chrome}"
echo "🚀 Running Flutter app with local Supabase..."
echo ""
# Run Flutter with environment variables
flutter run -d "$DEVICE" \
--dart-define=SUPABASE_URL="$SUPABASE_URL" \
--dart-define=SUPABASE_ANON_KEY="$SUPABASE_ANON_KEY"

View File

@ -0,0 +1,64 @@
#!/bin/bash
# Run Flutter app with Supabase credentials from env.json
# This script reads env.json and passes Supabase credentials to Flutter
set -e
# Navigate to project root
cd "$(dirname "$0")/.."
# Check if env.json exists
if [ ! -f "env.json" ]; then
echo "❌ env.json not found!"
echo " Please create env.json with SUPABASE_URL and SUPABASE_ANON_KEY"
exit 1
fi
# Extract Supabase credentials from env.json
# Using Python for reliable JSON parsing
SUPABASE_URL=$(python3 -c "import json; print(json.load(open('env.json'))['SUPABASE_URL'])" 2>/dev/null || echo "")
SUPABASE_ANON_KEY=$(python3 -c "import json; print(json.load(open('env.json'))['SUPABASE_ANON_KEY'])" 2>/dev/null || echo "")
GOOGLE_MAPS_API_KEY=$(python3 -c "import json; print(json.load(open('env.json'))['GOOGLE_MAPS_API_KEY'])" 2>/dev/null || echo "")
# Fallback: try with node if python fails
if [ -z "$SUPABASE_URL" ] || [ -z "$SUPABASE_ANON_KEY" ]; then
if command -v node >/dev/null 2>&1; then
SUPABASE_URL=$(node -e "const fs=require('fs'); const data=JSON.parse(fs.readFileSync('env.json')); console.log(data.SUPABASE_URL);" 2>/dev/null || echo "")
SUPABASE_ANON_KEY=$(node -e "const fs=require('fs'); const data=JSON.parse(fs.readFileSync('env.json')); console.log(data.SUPABASE_ANON_KEY);" 2>/dev/null || echo "")
GOOGLE_MAPS_API_KEY=$(node -e "const fs=require('fs'); const data=JSON.parse(fs.readFileSync('env.json')); console.log(data.GOOGLE_MAPS_API_KEY);" 2>/dev/null || echo "")
fi
fi
# Check if we got the credentials
if [ -z "$SUPABASE_URL" ] || [ -z "$SUPABASE_ANON_KEY" ]; then
echo "❌ Could not extract Supabase credentials from env.json"
echo " Make sure env.json contains SUPABASE_URL and SUPABASE_ANON_KEY"
exit 1
fi
echo "✅ Found Supabase credentials"
echo " URL: $SUPABASE_URL"
echo " Key: ${SUPABASE_ANON_KEY:0:20}..."
if [ -n "$GOOGLE_MAPS_API_KEY" ] && [ "$GOOGLE_MAPS_API_KEY" != "your-google-maps-api-key" ]; then
echo "🗺️ Found Google Maps API Key"
# Inject into web/index.html
if [ -f "web/index.html" ]; then
sed -i '' "s/key=[^\&\"]*/key=$GOOGLE_MAPS_API_KEY/" web/index.html
fi
fi
echo ""
# Determine device (default to web-server for web)
DEVICE="${1:-web-server}"
echo "🚀 Running Flutter app with Supabase..."
echo " Device: $DEVICE"
echo ""
# Run Flutter with environment variables
flutter run -d "$DEVICE" \
--dart-define=SUPABASE_URL="$SUPABASE_URL" \
--dart-define=SUPABASE_ANON_KEY="$SUPABASE_ANON_KEY" \
--dart-define=GOOGLE_MAPS_API_KEY="$GOOGLE_MAPS_API_KEY"

File diff suppressed because one or more lines are too long