# Running Calculator — Deploy (cPanel Node + MySQL)

Lokalno app koristi **SQLite** (`DATABASE_URL="file:./dev.db"`).
Na cPanel sharedu koristi **MySQL**.

## 1. MySQL na cPanelu

1. cPanel → **MySQL® Databases**
2. Kreiraj bazu npr. `user_runcalc`
3. Kreiraj user + lozinku, dodaj useru sve privileges na bazu
4. Connection string (obično host `localhost`):

```
mysql://DB_USER:DB_PASSWORD@localhost:3306/DB_NAME
```

## 2. Prebaci Prisma na MySQL

U `prisma/schema.prisma` promijeni:

```prisma
datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}
```

Zatim na serveru (ili lokalno s MySQL URL-om):

```bash
npx prisma migrate deploy
# ili prvi put:
npx prisma db push
npm run db:seed
```

## 3. Node.js App na cPanelu

1. cPanel → **Setup Node.js App**
2. Node verzija **18+** (bolje 20)
3. Application root: folder gdje je projekt
4. Application URL: tvoja domena / subdomena
5. Application startup file: ovisi o hostu — često treba:

```bash
npm run build
# startup: node_modules/next/dist/bin/next start
# ili: npm run start
```

6. Environment variables u Node App UI:

```
DATABASE_URL=mysql://...
SESSION_SECRET=<dugački random string 32+>
ADMIN_USERNAME=admin
ADMIN_EMAIL=admin@tvoja.domena
ADMIN_PASSWORD=<jak password>
NODE_ENV=production
```

7. Run NPM Install → Build → Restart

## 4. Napomene za shared Node

- Memory limits: `next build` može biti težak — ako padne, buildaj lokalno i uploadaj `.next` + `node_modules` (ili barem `.next`)
- Port: cPanel Passenger/proxy sam mapira — ne hardcodaj port
- Session cookie: `SESSION_SECRET` mora biti isti nakon reloada

## 5. Prvi login

Nakon seeda: admin credentials iz env varijabli.
Odobravaš nove korisnike u `/admin`.
