Skip to content

Commit 256bf45

Browse files
Todo-app
1 parent 4043b88 commit 256bf45

29 files changed

+506
-0
lines changed

todo-app/backend/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules
2+
*.log

todo-app/backend/package.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"name": "backend",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "src/loader.js",
6+
"scripts": {
7+
"dev": "nodemon",
8+
"production": "pm2 start src/loader.js --name todo-app"
9+
},
10+
"keywords": [],
11+
"author": "",
12+
"license": "ISC",
13+
"devDependencies": {
14+
"body-parser": "^1.15.2",
15+
"express": "^4.14.0",
16+
"mongoose": "^4.7.0",
17+
"node-restful": "^0.2.5",
18+
"nodemon": "^1.11.0",
19+
"pm2": "^2.1.5"
20+
}
21+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
const restful = require('node-restful')
2+
const mongoose = restful.mongoose
3+
4+
const todoSchema = new mongoose.Schema({
5+
description: { type: String, required: true },
6+
done: { type: Boolean, required: true, default: false },
7+
createdAt: { type: Date, default: Date.now }
8+
})
9+
10+
module.exports = restful.model('Todo', todoSchema)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
const Todo = require('./todo')
2+
3+
Todo.methods(['get', 'post', 'put', 'delete'])
4+
Todo.updateOptions({new: true, runValidators: true})
5+
6+
module.exports = Todo
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = function(req, res, next) {
2+
res.header('Access-Control-Allow-Origin', '*')
3+
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE')
4+
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
5+
next()
6+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
const mongoose = require('mongoose')
2+
mongoose.Promise = global.Promise
3+
module.exports = mongoose.connect('mongodb://localhost/todo')
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
const express = require('express')
2+
3+
module.exports = function(server) {
4+
5+
// API Routes
6+
const router = express.Router()
7+
server.use('/api', router)
8+
9+
// TODO Routes
10+
const todoService = require('../api/todo/todoService')
11+
todoService.register(router, '/todos')
12+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const port = 3003
2+
3+
const bodyParser = require('body-parser')
4+
const express = require('express')
5+
const server = express()
6+
const allowCors = require('./cors')
7+
8+
server.use(bodyParser.urlencoded({ extended: true }))
9+
server.use(bodyParser.json())
10+
server.use(allowCors)
11+
12+
server.listen(port, function() {
13+
console.log(`BACKEND is running on port ${port}.`)
14+
})
15+
16+
module.exports = server

todo-app/backend/src/loader.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
const server = require('./config/server')
2+
require('./config/database')
3+
require('./config/routes')(server)

todo-app/frontend/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules
2+
*.log

0 commit comments

Comments
 (0)