Este guia explica como configurar e iniciar o projeto Cliniq para testes locais.
Antes de começar, certifique-se de ter instalado:
- Node.js (versão 18 ou superior)
- Yarn (gerenciador de pacotes)
- MySQL (banco de dados)
- Git
- Crie um banco de dados MySQL:
CREATE DATABASE cliniq CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;2. Anote as credenciais do banco de dados (host, porta, usuário, senha) para usar na configuração do backend.
Navegue até a pasta api e instale as dependências:
cd api yarn install
Execute o comando abaixo, isso fará com que as env's basicas sejam geradas e com isso fazemos as alterações necessárias
yarn generate:env
### Servidor
PORT=3001
NODE_ENV=development
TIMEZONE=America/Sao_Paulo
### Logger
LOGGING=true
DEBUG_MODE=false
LOG_PERSIST_MODE=none
LOG_DIRECTORY=logs
MAX_MEMORY_LOGS=100
LOG_REQUEST_LEVEL=all
### Database
DB_NAME=cliniq
DB_HOST=localhost
DB_PORT=3306
DB_USER=seu_usuario_mysql
DB_PASSWORD=sua_senha_mysql
# JWT
JWT_SECRET_KEY=sua_chave_secreta_jwt_aqui
JWT_EXPIRES_IN=7d
- Substitua
seu_usuario_mysqlesua_senha_mysqlpelas credenciais do seu MySQL - Gere uma chave secreta segura para
JWT_SECRET_KEY(pode usar um gerador online ou comandoopenssl rand -base64 32) ou apenas utilizar um uuid
Execute as migrations para criar as tabelas no banco de dados:
yarn sequelize db:migrate
Execute os seeds para criar dados iniciais (como usuário administrador):
yarn sequelize db:seed:all### 5. Iniciar o Servidor
Para desenvolvimento (com hot-reload):
yarn dev
O servidor estará rodando em http://localhost:3001 (ou na porta configurada no .env).
Navegue até a pasta web e instale as dependências:
cd web
yarn install
Crie um arquivo .env na pasta web com as seguintes variáveis:
NULLSTACK_PROJECT_NAME="[dev] Cliniq"
NULLSTACK_PROJECT_DOMAIN="localhost"
NULLSTACK_PROJECT_COLOR="#D22365"
NULLSTACK_SERVER_PORT="3000"
NULLSTACK_ENDPOINT="http://localhost:3001"
Importante:
NULLSTACK_ENDPOINTdeve apontar para a URL do backend (ajuste a porta se necessário)
Para desenvolvimento:
yarn dev
O frontend estará rodando em http://localhost:3000.
Para testar o projeto completo, você precisa ter dois terminais abertos:
cd api
yarn dev
cd web
yarn dev
Depois, acesse:
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
yarn dev- Inicia o servidor em modo desenvolvimentoyarn build- Compila o TypeScript para produçãoyarn start- Inicia o servidor em modo produção (após build)yarn sequelize db:migrate- Executa migrations pendentesyarn sequelize db:migrate:undo- Reverte a última migrationyarn sequelize db:seed:all- Executa todos os seedsyarn format- Formata o código usando Biome
yarn dev- Inicia o servidor de desenvolvimentoyarn build- Gera build de produção
- Backend: Verifique se aparece a mensagem "Database connected" no terminal
- Frontend: Acesse http://localhost:3000 e verifique se a página carrega
- Login: Tente fazer login com as credenciais criadas pelo seed (se executou)
- Verifique se o MySQL está rodando
- Confirme as credenciais no arquivo
.envdo backend - Verifique se o banco de dados foi criado
- Altere a porta no arquivo
.env(backend ou frontend) - Certifique-se de que não há outros processos usando as portas 3000 ou 3001
- Verifique se o banco de dados existe
- Confirme se as credenciais estão corretas
- Execute
yarn sequelize db:migrate:statuspara ver o status das migrations
- Verifique se o backend está rodando
- Confirme se a variável
NULLSTACK_ENDPOINTno.envdo frontend está correta - Verifique se não há problemas de CORS (o backend deve estar configurado para aceitar requisições do frontend)
cliniq/
├── api/ # Backend (API REST)
│ ├── src/
│ │ ├── config/ # Configurações
│ │ ├── database/ # Models, migrations e seeds
│ │ ├── modules/ # Módulos da aplicação
│ │ └── server.ts # Ponto de entrada
│ └── .env # Variáveis de ambiente
│
└── web/ # Frontend (Nullstack)
├── src/
│ ├── modules/ # Módulos da aplicação
│ └── util/ # Utilitários
└── .env # Variáveis de ambiente
Se encontrar problemas, verifique:
- Versões do Node.js e Yarn
- Logs do terminal (backend e frontend)
- Console do navegador (F12)
- Status do banco de dados MySQL