# Instalação do 360 Conectado no cPanel

## 1. Criar o banco

No cPanel, abra **MySQL Databases**:

1. Crie um banco exclusivo para o 360 Conectado.
2. Crie um usuário com senha forte.
3. Vincule o usuário ao banco com todas as permissões.
4. Anote o nome completo do banco e do usuário, incluindo o prefixo do cPanel.

## 2. Importar a estrutura

1. Abra o **phpMyAdmin**.
2. Selecione o banco criado.
3. Clique em **Importar**.
4. Selecione `database/schema.sql`.
5. Confirme a importação.

## 3. Enviar os arquivos

1. Abra o **Gerenciador de Arquivos**.
2. Crie uma pasta fora de `public_html`, por exemplo `360conectado`.
3. Envie o arquivo ZIP.
4. Extraia todo o conteúdo nessa pasta.

## 4. Configurar as variáveis

1. Faça uma cópia de `.env.example` com o nome `.env`.
2. Preencha `DB_HOST`, `DB_NAME`, `DB_USER` e `DB_PASSWORD`.
3. Defina `APP_BASE_URL` com o endereço do sistema.
4. Crie uma chave longa e aleatória para `SESSION_SECRET`.
5. Mantenha `NODE_ENV=production` e `TRUST_PROXY=1`.

O arquivo `.env` contém dados sigilosos e não deve ser compartilhado.

## 5. Criar a aplicação Node.js

Em **Setup Node.js App**:

- Node.js: versão 18 ou superior;
- Application mode: Production;
- Application root: pasta onde o ZIP foi extraído;
- Application URL: domínio ou subdomínio destinado ao sistema;
- Application startup file: `server.js`.

Salve a configuração.

## 6. Instalar as dependências

No terminal do cPanel, entre no ambiente indicado pelo próprio Setup Node.js App
e execute:

```bash
npm install --omit=dev
```

## 7. Primeiro acesso

O banco inicial já cria um administrador:

- Login: `admin@local`
- Senha: `admin123`

Utilize essas credenciais para o primeiro teste. Troque a senha antes de
utilizar o sistema com dados reais.

Se desejar criar ou atualizar outro administrador, execute:

Ainda no terminal:

```bash
npm run create-admin
```

Informe nome, e-mail, CPF e uma senha com pelo menos oito caracteres.

## 8. Iniciar

Volte ao **Setup Node.js App** e clique em **Restart Application**.
Abra o endereço configurado e entre com o administrador criado.

## Atualizações

Antes de atualizar:

1. Faça backup do banco;
2. Faça backup da pasta da aplicação;
3. Preserve o arquivo `.env`;
4. Extraia a nova versão sobre a aplicação;
5. Execute eventuais arquivos da pasta `database/migrations`;
6. Execute novamente `npm install --omit=dev`;
7. Reinicie a aplicação.

## Observação de capacidade

A hospedagem compartilhada deve ser usada inicialmente para homologação.
Antes de colocar os 900 colaboradores, o ponto e a folha em produção, migre a
aplicação para um VPS. O código e o banco continuarão compatíveis.
