demeter

Autonomous Hydroponic Intelligence

index.js (813B)


const path = require("path");
require("dotenv").config({ path: path.join(__dirname, "..", "..", ".env") });
const express = require("express");
const cors = require("cors");
const { initDB, connectMongoDB } = require("./config/db");
const farmRoutes = require("./routes/farmRoutes");
const cropRoutes = require("./routes/cropRoutes");

const dns = require("node:dns/promises");
dns.setServers(["1.1.1.1"]);

const app = express();
const PORT = process.env.PORT || 3001;

// Middleware
app.use(express.json());
app.use(cors());

// Initialize Database & Indexes
initDB();
connectMongoDB();

// Mount Routes
// All routes inside farmRoutes will be prefixed with /api
app.use("/api", farmRoutes);
app.use("/api/crops", cropRoutes);

app.listen(PORT, () => {
  console.log(`🚀 Server running on port ${PORT}`);
});