diff --git a/backend/server.js b/backend/server.js index b2efe34823be909dcd8bc67a515f79fdde6dda5a..fabaf329fa59a5e504ffdfc3b9aea372e464a006 100644 --- a/backend/server.js +++ b/backend/server.js @@ -3,6 +3,9 @@ const mongoose = require('mongoose'); const app = express(); +const path = require('path'); +app.use(express.static(path.join(__dirname, '../frontend'))); + // Start the server const PORT = 3000; @@ -32,8 +35,10 @@ app.listen(PORT, () => { }); // POST route to add a book to the database -app.post('/', async (req, res) => { +app.post('/submit', async (req, res) => { try { + + console.log('Received data:', req.body); // Log the received data const { title, description, rating } = req.body; // Create a new book instance diff --git a/frontend/book-application.js b/frontend/book-application.js new file mode 100644 index 0000000000000000000000000000000000000000..d03243a39b1c5944f0a3debb5ddfb96ecef51041 --- /dev/null +++ b/frontend/book-application.js @@ -0,0 +1,26 @@ +const form = document.getElementById('bookform'); + +form.addEventListener('submit', async function (e) { + e.preventDefault(); // prevent page reload + + + const title = document.getElementById('title').value; + const description = document.getElementById('description').value; + const rating = document.getElementById('rating').value; + + try { + const response = await axios.post('http://localhost:3000/submit', { + title, + description, + rating + }); + + console.log('Server response:', response.data); + alert('Book submitted successfully!'); + form.reset(); + + } catch (error) { + console.error('Submission failed:', error); + alert('Something went wrong.'); + } +}); \ No newline at end of file diff --git a/frontend/submit-book.html b/frontend/submit-book.html index aca1c3892730c8e8439d087a6a7a8068157e4c5d..08a66b46bdb0d212eabcbe6ae249ef03487290db 100644 --- a/frontend/submit-book.html +++ b/frontend/submit-book.html @@ -11,7 +11,7 @@ <body> <h1> Book Rating Application</h1> - <form action="/submit" method="post"></form> + <form id="bookform"> <label for="title">Book Title:</label> <input type="text" id="title" name="title" required placeholder="Enter book title"> <br><br> @@ -32,6 +32,9 @@ <button type="submit">Submit</button> </form> + + <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> + <script src="book-application.js"></script> </body> </html> \ No newline at end of file