File size: 1,714 Bytes
1638b2e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash

# PharmaShield One-Shot Setup Script

set -e

echo "πŸ›‘οΈ Starting PharmaShield Setup..."

# 1. Verify Prerequisites
echo "πŸ” Verifying prerequisites..."

# Python Check
if command -v python3.11 &> /dev/null; then
    PYTHON_CMD="python3.11"
elif command -v python3 &> /dev/null && [[ $(python3 --version) == *"3.11"* ]]; then
    PYTHON_CMD="python3"
else
    echo "❌ Error: Python 3.11 is required but not found."
    exit 1
fi
echo "βœ… $PYTHON_CMD found."

# Flutter Check
if command -v flutter &> /dev/null; then
    FLUTTER_VERSION=$(flutter --version | head -n 1)
    echo "βœ… Flutter found: $FLUTTER_VERSION"
else
    echo "❌ Error: Flutter is required but not found."
    exit 1
fi

# Node Check
if command -v node &> /dev/null; then
    NODE_VERSION=$(node -v)
    echo "βœ… Node found: $NODE_VERSION"
else
    echo "❌ Error: Node.js is required but not found."
    exit 1
fi

# 2. Backend Setup
echo "βš™οΈ Setting up Backend..."
cd backend
$PYTHON_CMD -m venv .venv
source .venv/bin/activate || source .venv/Scripts/activate
pip install --upgrade pip
pip install -r requirements.txt
cd ..

# 3. Frontend Setup
echo "βš™οΈ Setting up Frontend..."
cd frontend
flutter pub get
cd ..

echo ""
echo "πŸŽ‰ Setup Complete!"
echo "--------------------------------------------------"
echo "πŸš€ Next Steps:"
echo "1. Configure Environment: cp .env.example .env and fill in your GEMINI_API_KEY and QDRANT_URL."
echo "2. Run Backend: cd backend && source .venv/bin/activate && uvicorn app.main:app --reload --port 8080"
echo "3. Run Frontend: cd frontend && flutter run -d chrome --dart-define=BACKEND_URL=http://localhost:8080"
echo "--------------------------------------------------"