Apply Composer changes: comprehensive API updates, migrations, middleware, and infrastructure improvements
- Add comprehensive database migrations (001-024) for schema evolution - Enhance API schema with expanded type definitions and resolvers - Add new middleware: audit logging, rate limiting, MFA enforcement, security, tenant auth - Implement new services: AI optimization, billing, blockchain, compliance, marketplace - Add adapter layer for cloud integrations (Cloudflare, Kubernetes, Proxmox, storage) - Update Crossplane provider with enhanced VM management capabilities - Add comprehensive test suite for API endpoints and services - Update frontend components with improved GraphQL subscriptions and real-time updates - Enhance security configurations and headers (CSP, CORS, etc.) - Update documentation and configuration files - Add new CI/CD workflows and validation scripts - Implement design system improvements and UI enhancements
This commit is contained in:
86
scripts/dev-setup.sh
Executable file
86
scripts/dev-setup.sh
Executable file
@@ -0,0 +1,86 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Development Environment Setup Script
|
||||
# This script sets up the development environment for Sankofa Phoenix
|
||||
|
||||
set -e
|
||||
|
||||
echo "🔥 Setting up Sankofa Phoenix development environment..."
|
||||
|
||||
# Check prerequisites
|
||||
echo "Checking prerequisites..."
|
||||
command -v node >/dev/null 2>&1 || { echo "Node.js is required but not installed. Aborting." >&2; exit 1; }
|
||||
command -v pnpm >/dev/null 2>&1 || { echo "pnpm is required but not installed. Aborting." >&2; exit 1; }
|
||||
|
||||
# Install root dependencies
|
||||
echo "Installing root dependencies..."
|
||||
pnpm install
|
||||
|
||||
# Install API dependencies
|
||||
echo "Installing API dependencies..."
|
||||
cd api
|
||||
if [ -f "package.json" ]; then
|
||||
npm install || pnpm install
|
||||
fi
|
||||
cd ..
|
||||
|
||||
# Install Portal dependencies
|
||||
echo "Installing Portal dependencies..."
|
||||
cd portal
|
||||
if [ -f "package.json" ]; then
|
||||
npm install
|
||||
fi
|
||||
cd ..
|
||||
|
||||
# Create .env.local files if they don't exist
|
||||
echo "Setting up environment files..."
|
||||
|
||||
if [ ! -f ".env.local" ]; then
|
||||
cat > .env.local << EOF
|
||||
NEXT_PUBLIC_GRAPHQL_ENDPOINT=http://localhost:4000/graphql
|
||||
NEXT_PUBLIC_APP_URL=http://localhost:3000
|
||||
NODE_ENV=development
|
||||
EOF
|
||||
echo "Created .env.local"
|
||||
fi
|
||||
|
||||
if [ ! -f "api/.env.local" ]; then
|
||||
cat > api/.env.local << EOF
|
||||
DB_HOST=localhost
|
||||
DB_PORT=5432
|
||||
DB_NAME=sankofa
|
||||
DB_USER=postgres
|
||||
DB_PASSWORD=postgres
|
||||
JWT_SECRET=dev-secret-change-in-production
|
||||
NODE_ENV=development
|
||||
PORT=4000
|
||||
EOF
|
||||
echo "Created api/.env.local"
|
||||
fi
|
||||
|
||||
# Setup database (if PostgreSQL is available)
|
||||
if command -v psql >/dev/null 2>&1; then
|
||||
echo "Setting up database..."
|
||||
createdb sankofa 2>/dev/null || echo "Database 'sankofa' may already exist or PostgreSQL not running"
|
||||
|
||||
if [ -f "api/src/db/migrate.ts" ]; then
|
||||
echo "Running database migrations..."
|
||||
cd api
|
||||
npm run db:migrate up || pnpm db:migrate up || echo "Migrations may have already run"
|
||||
cd ..
|
||||
fi
|
||||
else
|
||||
echo "PostgreSQL not found. Skipping database setup."
|
||||
echo "You can set up PostgreSQL later or use Docker: docker-compose up postgres"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "✅ Development environment setup complete!"
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo " 1. Start PostgreSQL: docker-compose up -d postgres (or use your own instance)"
|
||||
echo " 2. Start API: cd api && pnpm dev"
|
||||
echo " 3. Start Frontend: pnpm dev"
|
||||
echo " 4. Start Portal: cd portal && npm run dev"
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user