Initial push, base application done

This commit is contained in:
Johnathon Slightham
2021-05-02 15:42:58 -04:00
parent 6534e68a59
commit 1758e9c3ee
6 changed files with 1662 additions and 0 deletions

3
DB.js Normal file
View File

@@ -0,0 +1,3 @@
module.exports = {
DB: 'mongodb://localhost:27017/kno-logic'
}

30
index.js Normal file
View File

@@ -0,0 +1,30 @@
const express = require('express');
const app = express();
const PORT = 4000;
const cors = require('cors');
const mongoose = require('mongoose');
const config = require('./DB.js');
const userRoutes = require('./user.route');
// Handle MongoDB connection
mongoose.Promise = global.Promise;
mongoose.connect(config.DB, { useNewUrlParser: true, useUnifiedTopology: true }).then(
() => {
console.log('Connected to dabase');
},
err => {
console.log('Could not connect to database: ' + err);
}
);
// Express routes
app.use('/users', userRoutes);
// Express server
app.use(cors());
app.use(express.urlencoded({ extended: true }))
app.use(express.json());
app.listen(PORT, () => {
console.log('Express server running on port:', PORT);
});

1574
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

28
package.json Normal file
View File

@@ -0,0 +1,28 @@
{
"name": "kno-logic-api",
"version": "0.1.0",
"description": "The backend server for the kno-logic app",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/jslightham/kno-logic-api.git"
},
"author": "jslightham",
"license": "MIT",
"bugs": {
"url": "https://github.com/jslightham/kno-logic-api/issues"
},
"homepage": "https://github.com/jslightham/kno-logic-api#readme",
"dependencies": {
"body-parser": "^1.19.0",
"cors": "^2.8.5",
"express": "^4.17.1",
"mongoose": "^5.12.7"
},
"devDependencies": {
"nodemon": "^2.0.7"
}
}

19
user.model.js Normal file
View File

@@ -0,0 +1,19 @@
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
// Database schema for a user
let User = new Schema({
email: {
type: String
},
name: {
type: String
},
password: {
type: String
}
}, {
collection: 'users'
});
module.exports = mongoose.model('User', User);

8
user.route.js Normal file
View File

@@ -0,0 +1,8 @@
const express = require('express');
const userRoutes = express.Router();
let User = require('./user.model');
module.exports = userRoutes;