# AMO Vision Connect — Backend (v1)

## O que está aqui
- `server.js` — arranca a API
- `config/db.js` — ligação à base de dados MySQL
- `routes/auth.js` — registo e login (com password encriptada + token JWT)
- `routes/members.js` — perfil próprio + gestão de membros (admin)
- `middleware/auth.js` — proteção de rotas
- `sql/schema.sql` — cria as tabelas `members` e `audit_logs`

## Passos no cPanel

### 1. Enviar os ficheiros
No "Gerenciador de arquivos", entra em `amovc-backend` e envia (upload) todos estes ficheiros e pastas, mantendo a estrutura.

### 2. Criar o `.env` real
Dentro de `amovc-backend`, cria um ficheiro chamado `.env` (copia o conteúdo de `.env.example`) e preenche com os dados reais:
- DB_NAME=amocomz_amovc
- DB_USER=amocomz_admin
- DB_PASSWORD=(a tua password real)
- JWT_SECRET=(inventa uma frase longa e aleatória, ex: 40+ caracteres)

**Nunca** apagues ou partilhes este ficheiro publicamente.

### 3. Correr o schema SQL
Vai a phpMyAdmin → seleciona a base `amocomz_amovc` → separador "SQL" → cola o conteúdo de `sql/schema.sql` → Executar.

### 4. Instalar dependências
No "Configurar um aplicativo Node.js", clica em **"Executar o comando NPM Install"** (aparece automaticamente quando detecta o package.json).

### 5. Reiniciar o aplicativo
Volta à página do Node.js App e clica em **"REINICIAR"**.

### 6. Testar
Abre no browser: `https://api.amo.co.mz/api/health`
Deves ver: `{"status":"ok","message":"AMO Vision Connect API está ativa."}`

## Criar o primeiro admin
Por agora todos os registos ficam como "pending" e "member". Para criares o teu próprio utilizador admin:
1. Regista-te normalmente via `/api/auth/register` (ou faremos um formulário depois)
2. Em phpMyAdmin, na tabela `members`, edita a tua linha: muda `role` para `admin` e `status` para `active`
