Files
SkyArtShop/setup.sh
Local Server 1919f6f8bb updateweb
2026-01-01 22:24:30 -06:00

114 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
# 🚀 SkyArtShop Quick Start Script
# This script sets up your development environment
set -e
echo "🎨 SkyArtShop - Production Structure Setup"
echo "=========================================="
echo ""
# Colors for output
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Function to print colored output
print_step() {
echo -e "${BLUE}${NC} $1"
}
print_success() {
echo -e "${GREEN}${NC} $1"
}
print_warning() {
echo -e "${YELLOW}${NC} $1"
}
# Check if node is installed
if ! command -v node &> /dev/null; then
echo "❌ Node.js is not installed. Please install Node.js first."
exit 1
fi
print_success "Node.js version: $(node --version)"
echo ""
# Frontend Setup
print_step "Setting up Frontend..."
cd frontend
if [ ! -f ".env" ]; then
print_warning "Creating .env file from .env.example"
cp .env.example .env 2>/dev/null || echo "VITE_API_URL=http://localhost:3000/api" > .env
fi
print_step "Installing frontend dependencies..."
npm install
print_success "Frontend setup complete!"
echo ""
# Backend Setup
cd ../backend
print_step "Setting up Backend..."
if [ ! -f ".env" ]; then
print_warning "Creating .env file from .env.example"
cp .env.example .env 2>/dev/null || cat > .env << EOF
PORT=3000
NODE_ENV=development
DATABASE_URL="postgresql://user:password@localhost:5432/skyartshop?schema=public"
JWT_SECRET=$(openssl rand -base64 32 2>/dev/null || echo "change-this-secret-key-in-production")
JWT_EXPIRES_IN=7d
CORS_ORIGIN=http://localhost:5173
MAX_FILE_SIZE=5242880
EOF
print_warning "⚠️ Please update the DATABASE_URL in backend/.env with your database credentials"
fi
print_step "Installing backend dependencies..."
npm install
print_step "Generating Prisma client..."
npx prisma generate
print_success "Backend setup complete!"
echo ""
# Summary
echo "=========================================="
echo "✅ Setup Complete!"
echo "=========================================="
echo ""
echo "📝 Next Steps:"
echo ""
echo "1. Update backend/.env with your database credentials"
echo " Edit: backend/.env"
echo ""
echo "2. Run database migrations:"
echo " cd backend && npx prisma migrate dev"
echo ""
echo "3. Start development servers:"
echo ""
echo " Terminal 1 (Backend):"
echo " $ cd backend && npm run dev"
echo ""
echo " Terminal 2 (Frontend):"
echo " $ cd frontend && npm run dev"
echo ""
echo "4. Open your browser:"
echo " Frontend: http://localhost:5173"
echo " Backend: http://localhost:3000"
echo ""
echo "📚 Documentation:"
echo " - docs/ARCHITECTURE.md - Full architecture guide"
echo " - docs/STRUCTURE_COMPLETE.md - Structure overview"
echo " - frontend/readme.md - Frontend guide"
echo " - backend/readme.md - Backend guide"
echo ""
print_success "Happy coding! 🎉"