Initial commit
This commit is contained in:
127
quick-start.sh
Normal file
127
quick-start.sh
Normal file
@@ -0,0 +1,127 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Estate Platform - Quick Start Script
|
||||
# Automates the setup process
|
||||
|
||||
set -e # Exit on error
|
||||
|
||||
echo "=========================================="
|
||||
echo "Estate Platform - Automated Setup"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Colors for output
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Step counter
|
||||
STEP=1
|
||||
|
||||
step() {
|
||||
echo -e "${BLUE}[Step $STEP]${NC} $1"
|
||||
((STEP++))
|
||||
}
|
||||
|
||||
success() {
|
||||
echo -e "${GREEN}✓ $1${NC}"
|
||||
echo ""
|
||||
}
|
||||
|
||||
# Check prerequisites
|
||||
step "Checking prerequisites..."
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo "❌ Docker is not installed. Please install Docker first."
|
||||
exit 1
|
||||
fi
|
||||
if ! command -v node &> /dev/null; then
|
||||
echo "❌ Node.js is not installed. Please install Node.js 18+ first."
|
||||
exit 1
|
||||
fi
|
||||
success "Prerequisites check complete"
|
||||
|
||||
# Copy environment file
|
||||
step "Setting up environment..."
|
||||
if [ ! -f ".env.local" ]; then
|
||||
cp .env.example .env.local
|
||||
success "Created .env.local from .env.example"
|
||||
else
|
||||
success ".env.local already exists"
|
||||
fi
|
||||
|
||||
# Install dependencies
|
||||
step "Installing Node.js dependencies..."
|
||||
npm install --silent
|
||||
success "Dependencies installed"
|
||||
|
||||
# Start Docker services
|
||||
step "Starting Docker services..."
|
||||
docker-compose up -d
|
||||
success "Docker services started"
|
||||
|
||||
# Wait for services to be ready
|
||||
step "Waiting for services to be healthy..."
|
||||
echo " Checking PostgreSQL..."
|
||||
until docker-compose exec -T postgres pg_isready -U postgres > /dev/null 2>&1; do
|
||||
echo " Waiting for PostgreSQL..."
|
||||
sleep 2
|
||||
done
|
||||
success "PostgreSQL is ready"
|
||||
|
||||
echo " Checking Redis..."
|
||||
until docker-compose exec -T redis redis-cli ping > /dev/null 2>&1; do
|
||||
echo " Waiting for Redis..."
|
||||
sleep 2
|
||||
done
|
||||
success "Redis is ready"
|
||||
|
||||
# Run database migrations
|
||||
step "Running database migrations..."
|
||||
docker-compose exec -T web npm run db:migrate
|
||||
success "Database migrations complete"
|
||||
|
||||
# Optional: Seed database
|
||||
read -p "Seed database with sample data? (y/n) " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
step "Seeding database..."
|
||||
docker-compose exec -T web npm run db:seed
|
||||
success "Database seeded"
|
||||
else
|
||||
success "Skipping database seed"
|
||||
fi
|
||||
|
||||
echo "=========================================="
|
||||
echo "Setup Complete!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "Your Estate Platform is ready to use!"
|
||||
echo ""
|
||||
echo "Access Information:"
|
||||
echo " - Application: http://localhost:3000"
|
||||
echo " - Admin Setup: http://localhost:3000/admin/setup"
|
||||
echo " - Redis CLI: redis-cli"
|
||||
echo ""
|
||||
echo "Default Admin Credentials:"
|
||||
echo " - Email: admin@estate-platform.com"
|
||||
echo " - Password: Admin123!"
|
||||
echo ""
|
||||
echo "⚠️ Change the admin password on first login!"
|
||||
echo ""
|
||||
echo "Useful Commands:"
|
||||
echo " - View logs: docker-compose logs -f"
|
||||
echo " - Stop services: docker-compose down"
|
||||
echo " - Database UI: npm run db:studio"
|
||||
echo " - Redis monitor: redis-cli MONITOR"
|
||||
echo ""
|
||||
echo "Documentation:"
|
||||
echo " - Complete Setup: docs/COMPLETE_SETUP_GUIDE.md"
|
||||
echo " - Redis Setup: docs/REDIS_SETUP.md"
|
||||
echo " - OAuth Setup: docs/BETTERAUTH_SETUP_GUIDE.md"
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo "1. Configure OAuth providers in /admin/setup"
|
||||
echo "2. Customize webinar categories"
|
||||
echo "3. Setup email notifications"
|
||||
echo "4. Configure Stripe (optional)"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user