Skip to content

Commit 06edc6a

Browse files
committed
add backend, expressjs server running with mongodb uri connect
1 parent 3f2cde4 commit 06edc6a

File tree

5 files changed

+3809
-0
lines changed

5 files changed

+3809
-0
lines changed

backend/index.js

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
const express = require('express')
2+
const mongoose = require('mongoose')
3+
4+
const cors = require('cors')
5+
require('dotenv').config({ path: './.env.local' })
6+
7+
const app = express()
8+
app.use(cors())
9+
app.use(express.json())
10+
11+
// services
12+
13+
// routes
14+
const publicRoutes = require('./routes/publicRoutes')
15+
16+
// models
17+
const userModel = require('./models/users')
18+
19+
// DB connection
20+
mongoose.connect(process.env.MONGODB_URI, {useNewUrlParser: true, useUnifiedTopology: true}, function(error) {
21+
// Check error in initial connection. There is no 2nd param to the callback.
22+
if(error) {
23+
console.log('error: ', error);
24+
}
25+
// ready states being:
26+
// 0: disconnected
27+
// 1: connected
28+
// 2: connecting
29+
// 3: disconnecting
30+
console.log("mongoose.connection.readyState: ",mongoose.connection.readyState);
31+
})
32+
33+
// schema models
34+
userModel()
35+
36+
// auth0 middleware end
37+
38+
// protected routes
39+
// authRoutes(app)
40+
41+
// public routes
42+
publicRoutes(app)
43+
44+
45+
// async await can execute without esm
46+
47+
// async function delayedLogger(...messages) {
48+
// return new Promise((resolve) => {
49+
// setImmediate(() => {
50+
// console.debug(...messages);
51+
// resolve(true);
52+
// });
53+
// });
54+
// }
55+
56+
// async function doLogs() {
57+
// delayedLogger('2. Then I run next!');
58+
// console.log('1. I run first!');
59+
// await delayedLogger('3. Now I run third because I "await"');
60+
// console.log('4. And I run last!');
61+
// }
62+
// doLogs()
63+
64+
const port = process.env.PORT || 3200
65+
app.listen(port, ()=>{
66+
console.log("server is listing on port: ", port)
67+
})

backend/models/users.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const mongoose = require('mongoose')
2+
3+
const { Schema } = mongoose
4+
5+
const userModel = () => {
6+
7+
const userSchema = new Schema({
8+
firstName: String,
9+
lastName: String,
10+
fullName: String,
11+
picture: String,
12+
email: String
13+
})
14+
mongoose.model('users', userSchema)
15+
}
16+
17+
module.exports = userModel

0 commit comments

Comments
 (0)