-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
103 lines (83 loc) · 3.21 KB
/
Copy pathsetup.sh
File metadata and controls
103 lines (83 loc) · 3.21 KB
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#!/usr/bin/env bash
# =============================================================
# Pocket Coach — First-Time Local Setup Script
# Run this from the project root: bash setup.sh
# =============================================================
set -e # stop immediately if any command fails
# -------------------------------------------------------------
# CONFIG — change these if your PostgreSQL credentials differ
# -------------------------------------------------------------
DB_USER="postgres"
DB_NAME="pocket_coach_portal"
DB_HOST="localhost"
DB_PORT="5432"
# Super Admin credentials — change before running
ADMIN_NAME="Super Admin"
ADMIN_MOBILE="01700000000"
ADMIN_PASSWORD="yourpassword"
# =============================================================
# 1. CREATE DATABASE
# =============================================================
echo ""
echo ">>> Creating database..."
PGPASSWORD=$PGPASSWORD psql -U "$DB_USER" -h "$DB_HOST" -p "$DB_PORT" -c "DROP DATABASE IF EXISTS $DB_NAME;"
PGPASSWORD=$PGPASSWORD psql -U "$DB_USER" -h "$DB_HOST" -p "$DB_PORT" -c "CREATE DATABASE $DB_NAME;"
echo " Database '$DB_NAME' created."
# =============================================================
# 2. INSTALL BACKEND DEPENDENCIES
# =============================================================
echo ""
echo ">>> Installing backend dependencies..."
cd backend
npm install
# Copy .env if it does not already exist
if [ ! -f .env ]; then
cp .env.example .env
echo " Created backend/.env from .env.example"
echo " !! Open backend/.env and set DB_PASSWORD and JWT_SECRET before continuing."
exit 0
fi
# =============================================================
# 3. START BACKEND (runs in background, creates all DB tables)
# =============================================================
echo ""
echo ">>> Starting backend server (syncs DB tables)..."
npm run dev &
BACKEND_PID=$!
sleep 6
echo " Backend running (PID $BACKEND_PID)"
# =============================================================
# 4. CREATE SUPER ADMIN
# =============================================================
echo ""
echo ">>> Creating Super Admin account..."
curl -s -X POST http://localhost:3000/users/superadmin \
-H "Content-Type: application/json" \
-d "{\"fullName\":\"$ADMIN_NAME\",\"mobile\":\"$ADMIN_MOBILE\",\"password\":\"$ADMIN_PASSWORD\"}"
echo ""
echo " Super Admin created."
echo " Mobile: $ADMIN_MOBILE"
echo " Password: $ADMIN_PASSWORD"
# =============================================================
# 5. INSTALL FRONTEND DEPENDENCIES
# =============================================================
echo ""
echo ">>> Installing frontend dependencies..."
cd ../frontend
npm install
# =============================================================
# 6. START FRONTEND
# =============================================================
echo ""
echo ">>> Starting frontend..."
npm run dev &
echo ""
echo "============================================================"
echo " Setup complete!"
echo " Backend -> http://localhost:3000"
echo " Frontend -> http://localhost:5173"
echo ""
echo " Log in with:"
echo " Mobile: $ADMIN_MOBILE"
echo " Password: $ADMIN_PASSWORD"
echo "============================================================"