38 lines
835 B
JavaScript
38 lines
835 B
JavaScript
require("dotenv").config();
|
|
const express = require("express");
|
|
const cors = require("cors");
|
|
const { Pool } = require("pg");
|
|
|
|
const app = express();
|
|
const PORT = process.env.PORT || 3000;
|
|
|
|
// Middleware
|
|
app.use(cors());
|
|
app.use(express.json());
|
|
|
|
// PostgreSQL Connection
|
|
const pool = new Pool({
|
|
connectionString: process.env.DATABASE_URL,
|
|
ssl: { rejectUnauthorized: false }, // Required for Neon
|
|
});
|
|
|
|
// Test Route
|
|
app.get("/", (req, res) => {
|
|
res.send("Backend is running!");
|
|
});
|
|
|
|
// Example: Fetch Users
|
|
app.get("/users", async (req, res) => {
|
|
try {
|
|
const result = await pool.query("SELECT * FROM users");
|
|
res.json(result.rows);
|
|
} catch (error) {
|
|
res.status(500).json({ error: error.message });
|
|
}
|
|
});
|
|
|
|
// Start Server
|
|
app.listen(PORT, () => {
|
|
console.log(`Server running on http://localhost:${PORT}`);
|
|
});
|