Updated server.mjs with 48 additions
--- a/server.mjs
+++ b/server.mjs
@@ -1,0 +1,48 @@
+import express from 'express';
+import bodyParser from 'body-parser';
+import dotenv from 'dotenv';
+import { GoogleGenerativeAI } from '@google/generative-ai';
+
+dotenv.config();
+
+const app = express();
+const PORT = process.env.PORT || 3000;
+
+app.use(bodyParser.json());
+app.use(express.static('public'));
+
+const API_KEY = process.env.GOOGLE_API_KEY || process.env.GEMINI_API_KEY;
+
+if (!API_KEY) {
+  console.error('API_KEY is not set. Please set GOOGLE_API_KEY or GEMINI_API_KEY environment variable.');
+  process.exit(1);
+}
+
+const genAI = new GoogleGenerativeAI(API_KEY);
+const model = genAI.getGenerativeModel({ model: "gemini-pro"});
+
+app.get('/health', (req, res) => {
+  res.status(200).send('OK');
+});
+
+app.post('/api/chat', async (req, res) => {
+  try {
+    const { message } = req.body;
+    if (!message) {
+      return res.status(400).json({ error: 'Message is required' });
+    }
+
+    const result = await model.generateContent(message);
+    const response = await result.response;
+    const text = response.text();
+    res.json({ reply: text });
+
+  } catch (error) {
+    console.error('Error during chat:', error);
+    res.status(500).json({ error: 'Internal server error' });
+  }
+});
+
+app.listen(PORT, () => {
+  console.log(`Server is running on http://localhost:${PORT}`);
+});