feat: Initial commit of backend services and AGENTS.md
This commit is contained in:
68
backend/server.js
Normal file
68
backend/server.js
Normal file
@@ -0,0 +1,68 @@
|
||||
require("dotenv").config();
|
||||
const express = require("express");
|
||||
const mongoose = require("mongoose");
|
||||
const cors = require("cors");
|
||||
const http = require("http");
|
||||
const socketio = require("socket.io");
|
||||
|
||||
const app = express();
|
||||
const server = http.createServer(app);
|
||||
const io = socketio(server);
|
||||
const port = process.env.PORT || 5000;
|
||||
|
||||
app.use(cors());
|
||||
app.use(express.json());
|
||||
|
||||
// MongoDB Connection
|
||||
mongoose
|
||||
.connect(process.env.MONGO_URI, {
|
||||
useNewUrlParser: true,
|
||||
useUnifiedTopology: true,
|
||||
})
|
||||
.then(() => console.log("MongoDB connected"))
|
||||
.catch((err) => console.log("MongoDB connection error:", err));
|
||||
|
||||
// Socket.IO Setup
|
||||
io.on("connection", (socket) => {
|
||||
console.log("New client connected");
|
||||
socket.on("joinEvent", (eventId) => {
|
||||
socket.join(eventId);
|
||||
});
|
||||
socket.on("eventUpdate", (data) => {
|
||||
io.to(data.eventId).emit("update", data.message);
|
||||
});
|
||||
socket.on("disconnect", () => {
|
||||
console.log("Client disconnected");
|
||||
});
|
||||
});
|
||||
|
||||
// Routes
|
||||
const authRoutes = require("./routes/auth");
|
||||
const streetRoutes = require("./routes/streets");
|
||||
const taskRoutes = require("./routes/tasks");
|
||||
const postRoutes = require("./routes/posts");
|
||||
const eventRoutes = require("./routes/events");
|
||||
const rewardRoutes = require("./routes/rewards");
|
||||
const reportRoutes = require("./routes/reports");
|
||||
const aiRoutes = require("./routes/ai");
|
||||
const paymentRoutes = require("./routes/payments");
|
||||
const userRoutes = require("./routes/users");
|
||||
|
||||
app.use("/api/auth", authRoutes);
|
||||
app.use("/api/streets", streetRoutes);
|
||||
app.use("/api/tasks", taskRoutes);
|
||||
app.use("/api/posts", postRoutes);
|
||||
app.use("/api/events", eventRoutes);
|
||||
app.use("/api/rewards", rewardRoutes);
|
||||
app.use("/api/reports", reportRoutes);
|
||||
app.use("/api/ai", aiRoutes);
|
||||
app.use("/api/payments", paymentRoutes);
|
||||
app.use("/api/users", userRoutes);
|
||||
|
||||
app.get("/", (req, res) => {
|
||||
res.send("Street Adoption App Backend");
|
||||
});
|
||||
|
||||
server.listen(port, () => {
|
||||
console.log(`Server running on port ${port}`);
|
||||
});
|
||||
Reference in New Issue
Block a user