diff --git a/routes/book.js b/routes/book.js
new file mode 100644
index 0000000000000000000000000000000000000000..6e4edcf19636f7108f50ea29911b9ec9eb957cbc
--- /dev/null
+++ b/routes/book.js
@@ -0,0 +1,50 @@
+const router = require('express').Router();
+let Book = require('../model/book.model');
+
+router.route('/').get((req, res) => {
+  Book.find()
+    .then(books => res.json(books))
+    .catch(err => res.status(400).json('Error: ' + err));
+});
+
+router.route('/add').post((req, res) => {
+  const book_id = req.body.book_id;
+  const book_name = req.body.book_name;
+  const author = req.body.author;
+  const price = Number(req.body.price);
+
+  const newBook = new Book({_id: book_id,book_name,author,price});
+
+  newBook.save()
+    .then(() => res.json('Book added!'))
+    .catch(err => res.status(400).json('Error: ' + err));
+});
+
+router.route('/:id').get((req, res) => {
+  Book.findById(req.params.id)
+    .then(books => res.json(books))
+    .catch(err => res.status(400).json('Error: ' + err));
+});
+
+router.route('/:id').delete((req, res) => {
+  Book.findByIdAndDelete(req.params.id)
+    .then(() => res.json('Book deleted.'))
+    .catch(err => res.status(400).json('Error: ' + err));
+});
+
+router.route('/update/:id').post((req, res) => {
+  Book.findById(req.params.id)
+    .then(book => {
+      book.book_id = req.body.book_id;
+      book.book_name = req.body.book_name;
+      book.author = req.body.author;
+      book.price = Number(req.body.price);
+
+      book.save()
+        .then(() => res.json('Book updated!'))
+        .catch(err => res.status(400).json('Error: ' + err));
+    })
+    .catch(err => res.status(400).json('Error: ' + err));
+});
+
+module.exports = router;
\ No newline at end of file