const express = require("express"); const mongoose = require("mongoose"); const multer = require("multer"); const cors = require("cors"); const fs = require("fs"); const app = express(); app.use(express.json()); app.use(cors()); app.use("/uploads", express.static("uploads")); mongoose.connect("mongodb://mongo:27017/notes"); const Note = mongoose.model("Note", { text: String }); const storage = multer.diskStorage({ destination: "uploads/", filename: (req, file, cb) => { cb(null, Date.now() + "-" + file.originalname); } }); const upload = multer({ storage }); app.get("/notes", async (req, res) => { res.json(await Note.find()); }); app.post("/notes", async (req, res) => { const note = new Note(req.body); await note.save(); res.json(note); }); app.post("/upload", upload.single("file"), (req, res) => { res.json({ message: "Uploaded" }); }); app.listen(3000, () => console.log("Backend running")); app.get("/", (req, res) => { res.send("Backend is running"); }); app.delete("/notes/:id", async (req, res) => { await Note.findByIdAndDelete(req.params.id); res.json({ message: "Deleted" }); }); app.get("/files", (req, res) => { fs.readdir("uploads/", (err, files) => { if (err) return res.status(500).send("Error"); res.json(files); }); });