arnaucube
arnaucube/thoughtsPublic Self-hosted repository
thoughts/server.js
server.jsRaw
 1var express         = require("express"),
 2    app             = express(),
 3    bodyParser      = require("body-parser"),
 4    methodOverride  = require("method-override"),
 5    mongoose        = require('mongoose');
 6
 7// Connection to DB
 8mongoose.connect('mongodb://localhost/users', function(err, res) {
 9  if(err) throw err;
10  console.log('Connected to Database');
11});
12
13// Middlewares
14app.use(bodyParser.urlencoded({ extended: false }));
15app.use(bodyParser.json());
16app.use(methodOverride());
17
18// Import Models and controllers
19var userMdl     = require('./models/userModel')(app, mongoose);
20var userCtrl = require('./controllers/userController');
21
22var thoughtMdl     = require('./models/thoughtModel')(app, mongoose);
23var thoughtCtrl = require('./controllers/thoughtController');
24
25/*// Example Route
26var router = express.Router();
27router.get('/', function(req, res) {
28  res.send("Hello world!");
29});
30app.use(router);*/
31app.use(express.static(__dirname + '/web'));
32
33// API routes
34//users routes
35var usersRoute = express.Router();
36
37usersRoute.route('/users')
38  .get(userCtrl.findAllUsers)
39  .post(userCtrl.addUser);
40
41usersRoute.route('/users/:id')
42  .get(userCtrl.findById)
43  .put(userCtrl.updateActivity)
44  .delete(userCtrl.deleteActivity);
45
46app.use('/api', usersRoute);
47
48//thoughts routes
49var thoughtsRoute = express.Router();
50
51thoughtsRoute.route('/thoughts')
52  .get(thoughtCtrl.findAllThoughts)
53  .post(thoughtCtrl.addThought);
54
55thoughtsRoute.route('/thoughts/:id')
56  .get(thoughtCtrl.findById)
57  .put(thoughtCtrl.updateActivity)
58  .delete(thoughtCtrl.deleteActivity);
59
60app.use('/api', thoughtsRoute);
61
62// Start server
63app.listen(3000, function() {
64  console.log("Node server running on http://localhost:3000");
65});