system-prompts-and-models-o.../server.js
Claude ab7f38d11b
Configurar aplicação para deploy no Scalingo
Arquivos adicionados:
- server.js: Servidor Express para servir a enciclopédia
- package.json: Dependências Node.js (Express + compression)
- Procfile: Configuração de processo para Scalingo
- scalingo.json: Configurações específicas do Scalingo
- .gitignore: Ignorar node_modules e arquivos desnecessários
- DEPLOY.md: Guia completo de deploy no Scalingo

Recursos implementados:
 Servidor Express otimizado
 Compressão GZIP para melhor performance
 Health check endpoint (/health)
 Cache de arquivos estáticos
 Tratamento de erros
 Redirecionamento de rotas
 Pronto para produção

Como fazer deploy:
1. scalingo login
2. scalingo create enciclopedia-ai-prompts
3. git push scalingo main

Veja DEPLOY.md para instruções detalhadas.
2025-11-14 03:04:42 +00:00

48 lines
1.3 KiB
JavaScript

const express = require('express');
const path = require('path');
const compression = require('compression');
const app = express();
const PORT = process.env.PORT || 3000;
// Middleware para compressão GZIP
app.use(compression());
// Servir arquivos estáticos
app.use(express.static(__dirname, {
maxAge: '1d', // Cache de 1 dia para melhor performance
etag: true
}));
// Rota principal - serve a enciclopédia
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, 'enciclopedia.html'));
});
// Rota de health check para o Scalingo
app.get('/health', (req, res) => {
res.status(200).json({ status: 'ok', message: 'Enciclopédia de IA rodando!' });
});
// Redirecionar qualquer outra rota para a página principal
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'enciclopedia.html'));
});
// Iniciar servidor
app.listen(PORT, () => {
console.log(`🚀 Servidor rodando na porta ${PORT}`);
console.log(`📚 Enciclopédia disponível em http://localhost:${PORT}`);
});
// Tratamento de erros
process.on('uncaughtException', (err) => {
console.error('❌ Erro não capturado:', err);
process.exit(1);
});
process.on('unhandledRejection', (err) => {
console.error('❌ Promise rejection não tratada:', err);
process.exit(1);
});