# Padelnomics

Plan, finance, and build your padel business.

## Development

### CSS (Tailwind)

Uses the [Tailwind CSS standalone CLI](https://tailwindcss.com/blog/standalone-cli) — no Node.js required.

```bash
make css-watch   # rebuild on file changes (dev)
make css-build   # one-off minified build (CI/Docker)
```

The first run downloads the Tailwind binary to `bin/tailwindcss` automatically.

Edit `src/padelnomics/static/css/input.css` for theme tokens, base styles, and component classes. Output is gitignored — Docker builds it in a dedicated stage.

## CI/CD:
 Go to GitLab → padelnomics → Settings → CI/CD → Variables and add:

  ┌─────────────────┬────────────────────────────┬───────────────────────────────────────────┐
  │    Variable     │           Value            │                   Notes                   │
  ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤
  │ SSH_PRIVATE_KEY │ Your ed25519 private key   │ Mask it, type "Variable"                  │
  ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤
  │ DEPLOY_HOST     │ Your Hetzner server IP     │ e.g. 1.2.3.4                              │
  ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤
  │ DEPLOY_USER     │ SSH username on the server │ e.g. deploy or root                       │
  ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤
  │ SSH_KNOWN_HOSTS │ Server host key            │ Run ssh-keyscan $YOUR_SERVER_IP to get it │
  └─────────────────┴────────────────────────────┴───────────────────────────────────────────┘

  And on the server side (one-time setup):
  1. Add the matching public key to ~/.ssh/authorized_keys for the deploy user
  2. Clone the repo to /opt/padelnomics
  3. Create .env from padelnomics/.env.example with production values
  4. chmod +x deploy.sh && ./deploy.sh for the first deploy
  5. Point NPM to port 5000
