updateweb
This commit is contained in:
113
setup.sh
Executable file
113
setup.sh
Executable file
@@ -0,0 +1,113 @@
|
||||
#!/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! 🎉"
|
||||
Reference in New Issue
Block a user