aboutsummaryrefslogtreecommitdiff
path: root/part4/blog/src/index.js
diff options
context:
space:
mode:
authorIbrahim Mkusa <ibrahimmkusa@gmail.com>2023-06-18 01:53:37 -0400
committerIbrahim Mkusa <ibrahimmkusa@gmail.com>2023-06-18 01:58:08 -0400
commitcbaabb55447e63a1fc0248fe3a2b5bb47eb71735 (patch)
treefd02b761304a17b817088a86446155dc80f23da0 /part4/blog/src/index.js
parent9f0fd764b643b5af8407435314fb23d10520ff76 (diff)
ex4.1 project structuring with node
Diffstat (limited to 'part4/blog/src/index.js')
-rw-r--r--part4/blog/src/index.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/part4/blog/src/index.js b/part4/blog/src/index.js
new file mode 100644
index 0000000..ba267a3
--- /dev/null
+++ b/part4/blog/src/index.js
@@ -0,0 +1,47 @@
+const express = require('express')
+const app = express()
+const cors = require('cors')
+const mongoose = require('mongoose')
+
+const blogSchema = new mongoose.Schema({
+ title: String,
+ author: String,
+ url: String,
+ likes: Number
+})
+
+const Blog = mongoose.model('Blog', blogSchema)
+
+console.log("Connecting to mongo server")
+const mongoUrl = 'mongodb+srv://imkusa:Ukj3Ks51qPJ2aa8w@cluster0.aookaoo.mongodb.net/?retryWrites=true&w=majority'
+mongoose.connect(mongoUrl)
+console.log("Successfully connected to mongo server")
+
+app.use(cors())
+app.use(express.json())
+
+app.get('/api/blogs', (request, response) => {
+ Blog
+ .find({})
+ .then(blogs => {
+ response.json(blogs)
+ })
+ .catch((error) => {
+ console.log(error.message)
+ })
+})
+
+app.post('/api/blogs', (request, response) => {
+ const blog = new Blog(request.body)
+
+ blog
+ .save()
+ .then(result => {
+ response.status(201).json(result)
+ })
+})
+
+const PORT = 3003
+app.listen(PORT, () => {
+ console.log(`Server running on port ${PORT}`)
+})