diff --git a/server/src/controllers/boatControllers.controllers.ts b/server/src/controllers/boatControllers.controllers.ts
index 8d911c7a5af85c873965281cfd45a1635debc149..0416a3611e77a44c56028d26d389ac41c9c4cf1c 100644
--- a/server/src/controllers/boatControllers.controllers.ts
+++ b/server/src/controllers/boatControllers.controllers.ts
@@ -52,10 +52,40 @@ const deleteBoatById = async (req: Request, res: Response) => {
     return res.status(500).json({ success: false, error: "serverError" });
   }
 };
+
+//create boat
+const createBoat = async (req: Request, res: Response) => {
+  try {
+    if (!(res.locals.user.role == "coordinator")) {
+      return res
+        .status(403)
+        .json({ success: false, error: "MustBeCoordinator" });
+    }
+
+    const newBoatInput = req.body;
+
+    console.log("input von req.body: ", newBoatInput);
+
+    const newBoat = await Boat.create(newBoatInput);
+
+    const { id, name, boattype, status, active, tags } = newBoat;
+
+    if (newBoat) {
+      return res
+        .status(201)
+        .json({ success: true, result: { id, name, boattype, status, active, tags } });
+    }
+  } catch (error) {
+    console.error(error.message);
+    return res.status(500).json({ success: false, error: "serverError" });
+  }
+};
+
 const boatControllers = {
   showAllBoatsController,
   showBoatById,
   deleteBoatById,
+  createBoat,
 };
 
 export default boatControllers;
diff --git a/server/src/routes/boatRoutes.routes.ts b/server/src/routes/boatRoutes.routes.ts
index 55a817054cd53859d67712d4191fe80910b453b3..e41b8eefdc12bd792af1ecbb10bd71291f0f2ba9 100644
--- a/server/src/routes/boatRoutes.routes.ts
+++ b/server/src/routes/boatRoutes.routes.ts
@@ -1,16 +1,37 @@
 import { Router } from "express";
+import { body } from "express-validator";
 import validateToken from "../middleware/validateToken";
 import boatControllers from "../controllers/boatControllers.controllers";
+import handleValidationResult from "../middleware/handleValidationResult";
+
 
 
 const boatsRouter = Router();
 
+//show all boats
 boatsRouter.get("/api/boat/", boatControllers.showAllBoatsController);
+
+//show boat by given id
 boatsRouter.get("/api/boat/:id", boatControllers.showBoatById);
+
+//delete a boat
 boatsRouter.delete(
   "/api/boat/:id",
   validateToken,
   boatControllers.deleteBoatById
 );
 
+//create boat
+boatsRouter.post(
+  "/api/boat/",
+  body("name").not().isEmpty(),
+  body("boattype").not().isEmpty(),
+  body("status").not().isEmpty(),
+  body("active").not().isEmpty(),
+  body("tags").not().isEmpty(),
+  handleValidationResult,
+  validateToken,
+  boatControllers.createBoat
+);
+
 export default boatsRouter;