Skip to content

Commit

Permalink
new todos and redis yay
Browse files Browse the repository at this point in the history
  • Loading branch information
jackfranklin committed Jun 24, 2012
1 parent 7a89115 commit c164d7e
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 17 deletions.
5 changes: 3 additions & 2 deletions app.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
* Module dependencies. * Module dependencies.
*/ */


var express = require('express') var express = require('express'),
, routes = require('./routes/routes'); routes = require('./routes/routes');


var app = module.exports = express.createServer(); var app = module.exports = express.createServer();


Expand Down Expand Up @@ -32,6 +32,7 @@ app.configure('production', function(){
app.get('/', routes.index); app.get('/', routes.index);
app.get('/about', routes.about); app.get('/about', routes.about);
app.get('/todo', routes.todo); app.get('/todo', routes.todo);
app.post('/save', routes.saveTodo);
app.listen(3000, function(){ app.listen(3000, function(){
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env); console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
}); });
4 changes: 3 additions & 1 deletion package.json
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
"dependencies": { "dependencies": {
"express": "2.5.8", "express": "2.5.8",
"jade": ">= 0.0.1", "jade": ">= 0.0.1",
"localStorage": "~1.0.0" "localStorage": "~1.0.0",
"redis": "~0.7.2",
"connect-redis": "~1.4.0"
}, },
"scripts": { "scripts": {
"start": "node app.js" "start": "node app.js"
Expand Down
30 changes: 20 additions & 10 deletions routes/routes.js
Original file line number Original file line Diff line number Diff line change
@@ -1,8 +1,4 @@


/*
* GET home page.
*/

exports.index = function(req, res){ exports.index = function(req, res){
res.render('index', { title: 'Welcome to JSPlayground Todo' }); res.render('index', { title: 'Welcome to JSPlayground Todo' });
}; };
Expand All @@ -12,16 +8,30 @@ exports.about = function(req, res){
}; };


exports.todo = function(req, res){ exports.todo = function(req, res){
res.render('todo', { var todos = [];
title: 'New Todo List', client.hgetall("Todo", function(err, objs) {
todos: [ for(var k in objs) {
{ text: "todo number 1" }, var newTodo = {
{ text: "todo number 2" } text: objs[k]
] };
todos.push(newTodo);
}
res.render('todo', {
title: 'New Todo List',
todos: todos
});
}); });
}; };


var redis = require("redis"),
client = redis.createClient();

exports.saveTodo = function(req, res) { exports.saveTodo = function(req, res) {
var newTodo = {};
newTodo.name = req.body['todo-text'];
newTodo.id = newTodo.name.replace(" ", "-");
client.hset("Todo", newTodo.id, newTodo.name);
res.redirect("back");




}; };
10 changes: 6 additions & 4 deletions views/todo.jade
Original file line number Original file line Diff line number Diff line change
@@ -1,9 +1,11 @@
h1 new todo list h1 new todo list
form form(action="/save", method="post")
p p
label Enter a new todo item label Enter a new todo item
input(type='text',placeholder='new todo') input(type='text',placeholder='new todo', name='todo-text')
p
input(type='submit', value='Save')
ul ul
each todo in todos each todo in todos
li #{todo.text} li #{todo.text}


0 comments on commit c164d7e

Please sign in to comment.