Showing
6 changed files
with
77 additions
and
4 deletions
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | "version": "1.0.0", | 3 | "version": "1.0.0", |
| 4 | "description": "2021 OSS Project Using node!", | 4 | "description": "2021 OSS Project Using node!", |
| 5 | "scripts": { | 5 | "scripts": { |
| 6 | - "dev:server": "nodemon --exec babel-node src/server" | 6 | + "dev:server": "nodemon --exec babel-node src/init" |
| 7 | }, | 7 | }, |
| 8 | "repository": { | 8 | "repository": { |
| 9 | "type": "git", | 9 | "type": "git", |
| ... | @@ -17,6 +17,7 @@ | ... | @@ -17,6 +17,7 @@ |
| 17 | "@babel/preset-env": "^7.14.1", | 17 | "@babel/preset-env": "^7.14.1", |
| 18 | "axios": "^0.21.1", | 18 | "axios": "^0.21.1", |
| 19 | "express": "^4.17.1", | 19 | "express": "^4.17.1", |
| 20 | + "mongoose": "^5.12.9", | ||
| 20 | "morgan": "^1.10.0", | 21 | "morgan": "^1.10.0", |
| 21 | "nodemon": "^2.0.7", | 22 | "nodemon": "^2.0.7", |
| 22 | "pug": "^3.0.2" | 23 | "pug": "^3.0.2" | ... | ... |
| 1 | import axios from "axios"; | 1 | import axios from "axios"; |
| 2 | +import User from "../models/User"; | ||
| 2 | 3 | ||
| 3 | const getQuote = async (req,res) =>{ | 4 | const getQuote = async (req,res) =>{ |
| 4 | const url = "http://quotes.stormconsultancy.co.uk/random.json"; | 5 | const url = "http://quotes.stormconsultancy.co.uk/random.json"; | ... | ... |
src/db.js
0 → 100644
| 1 | +import mongoose from "mongoose"; | ||
| 2 | + | ||
| 3 | +mongoose.connect("mongodb://127.0.0.1:27017/dev-profile",{ | ||
| 4 | + useNewUrlParser: true, | ||
| 5 | + useFindAndModify: false, | ||
| 6 | + useUnifiedTopology: true | ||
| 7 | + } | ||
| 8 | +); | ||
| 9 | + | ||
| 10 | +const db = mongoose.connection; | ||
| 11 | +const handleOpen = () =>console.log("✅ Connected to DB"); | ||
| 12 | +const handleError = (error) =>console.log(`❌ Error on DB Connection:${error}`); | ||
| 13 | + | ||
| 14 | + | ||
| 15 | +db.once("open", handleOpen); | ||
| 16 | +db.on("eror",handleError); | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/init.js
0 → 100644
| 1 | +import "./db"; | ||
| 2 | +import "./models/User"; | ||
| 3 | +import app from "./server"; | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +const PORT = 5500; | ||
| 7 | +const handleListening = () => console.log(`✅ Server running : http://localhost:${PORT}`); | ||
| 8 | + | ||
| 9 | +app.listen(PORT, handleListening); | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/models/User.js
0 → 100644
| 1 | +import mongoose from "mongoose"; | ||
| 2 | + | ||
| 3 | +const UserSchema = new mongoose.Schema({ | ||
| 4 | + name: { | ||
| 5 | + type: String, | ||
| 6 | + trim: true | ||
| 7 | + }, | ||
| 8 | + email: { | ||
| 9 | + type: String, | ||
| 10 | + trim: true | ||
| 11 | + }, | ||
| 12 | + avatarUrl: String, | ||
| 13 | + githubId: { | ||
| 14 | + type: Number, | ||
| 15 | + required: "GitHub id is required" | ||
| 16 | + }, | ||
| 17 | + githubName: { | ||
| 18 | + type: String, | ||
| 19 | + required: "Github nickname is required", | ||
| 20 | + trim: true | ||
| 21 | + }, | ||
| 22 | + school: { | ||
| 23 | + type: String, | ||
| 24 | + trim: true | ||
| 25 | + }, | ||
| 26 | + tech: [{ type: String, trim: true }], | ||
| 27 | + career: [{ type: String, trim: true }], | ||
| 28 | + introduction: String, | ||
| 29 | + createdAt: { | ||
| 30 | + type: Date, | ||
| 31 | + default: Date.now | ||
| 32 | + }, | ||
| 33 | + blogUrl: { | ||
| 34 | + type: String, | ||
| 35 | + default: "#" | ||
| 36 | + }, | ||
| 37 | + githubUrl: { | ||
| 38 | + type: String, | ||
| 39 | + default: "#" | ||
| 40 | + } | ||
| 41 | +}); | ||
| 42 | + | ||
| 43 | +const User = mongoose.model("User", UserSchema); | ||
| 44 | + | ||
| 45 | + | ||
| 46 | +export default User; | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -5,7 +5,8 @@ import globalRouter from "./routers/globalRouter"; | ... | @@ -5,7 +5,8 @@ import globalRouter from "./routers/globalRouter"; |
| 5 | import userRouter from "./routers/userRouter"; | 5 | import userRouter from "./routers/userRouter"; |
| 6 | import { localsMiddleware } from "./middlewares"; | 6 | import { localsMiddleware } from "./middlewares"; |
| 7 | 7 | ||
| 8 | -const PORT = 5500; | 8 | + |
| 9 | + | ||
| 9 | const app = express(); | 10 | const app = express(); |
| 10 | 11 | ||
| 11 | 12 | ||
| ... | @@ -23,7 +24,6 @@ app.use("/users", userRouter); | ... | @@ -23,7 +24,6 @@ app.use("/users", userRouter); |
| 23 | 24 | ||
| 24 | 25 | ||
| 25 | 26 | ||
| 26 | -const handleListening = () => console.log(`✅ Server running : http://localhost:${PORT}`); | ||
| 27 | 27 | ||
| 28 | -app.listen(PORT, handleListening); | ||
| 29 | 28 | ||
| 29 | +export default app; | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment