Servidor de mock dinâmico com painel administrativo web e PostgreSQL. Permite criar, editar e remover rotas mock em tempo real, sem reiniciar o servidor.
- Criação/edição/remoção de rotas mock via interface web
- Suporte a todos os métodos HTTP (GET, POST, PUT, PATCH, DELETE)
- Configuração de status code, content-type, delay e response body por rota
- Rotas aplicadas instantaneamente sem restart
- PostgreSQL para persistência
- Suporte a HTTPS com certificados próprios
- Docker e Docker Compose para deploy portátil
docker-compose up --buildAcesse o painel admin em: http://localhost:3001/admin
Pronto. O banco é criado automaticamente.
- Node.js 18+
- PostgreSQL rodando localmente
createdb mockserverOu via psql:
CREATE USER mockserver WITH PASSWORD 'mockserver';
CREATE DATABASE mockserver OWNER mockserver;cp .env.example .env
# Editar .env conforme necessárionpm install
npm startAcesse: http://localhost:3001/admin
Para usar HTTPS (ex: desenvolvimento local com domínio customizado):
- Gere certificados autoassinados ou use os existentes (
server.keyeserver.crt) - Configure no
.env:
HTTPS_ENABLED=true
SSL_KEY=server.key
SSL_CERT=server.crt
| Variável | Padrão | Descrição |
|---|---|---|
DB_HOST |
localhost |
Host do PostgreSQL |
DB_PORT |
5432 |
Porta do PostgreSQL |
DB_NAME |
mockserver |
Nome do banco |
DB_USER |
mockserver |
Usuário do banco |
DB_PASSWORD |
mockserver |
Senha do banco |
PORT |
3001 |
Porta do servidor |
HTTPS_ENABLED |
false |
Habilitar HTTPS |
SSL_KEY |
server.key |
Caminho do arquivo da chave SSL |
SSL_CERT |
server.crt |
Caminho do certificado SSL |
- Acesse
/adminpara gerenciar as rotas - Crie uma rota definindo método, path, status code e response body
- A rota fica disponível imediatamente no servidor
- Requisições que não correspondem a nenhuma rota mock retornam 404
mock-server/
├── app.js # Entry point
├── src/
│ ├── db.js # Conexão PostgreSQL
│ ├── migrate.js # Criação automática de tabelas
│ └── routes/
│ ├── admin.js # Rotas do painel admin (CRUD)
│ └── mock.js # Router dinâmico de mocks
├── views/
│ ├── layout.ejs # CSS compartilhado
│ ├── index.ejs # Lista de rotas
│ └── form.ejs # Formulário criar/editar
├── docker-compose.yml
├── Dockerfile
└── .env.example