Book Image

Backbone.js Blueprints

By : Andrew Burgess
Book Image

Backbone.js Blueprints

By: Andrew Burgess

Overview of this book

<p>Backbone.js is an open source, JavaScript library that helps you to build sophisticated and structured web apps. It's important to have well-organized frontend code for easy maintenance and extendability. With the Backbone framework, you'll be able to build applications that are a breeze to manage.<br /><br />In this book, you will discover how to build seven complete web applications from scratch. You'll learn how to use all the components of the Backbone framework individually, and how to use them together to create fully featured applications. In addition, you'll also learn how Backbone thinks so you can leverage it to write the most efficient frontend JavaScript code.<br /><br />Through this book, you will learn to write good server-side JavaScript to support your frontend applications. This easy-to-follow guide is packed with projects, code, and solid explanations that will give you the confidence to write your own web applications from scratch.</p>
Table of Contents (14 chapters)
Backbone.js Blueprints
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Creating the models


Now that we've set up our template-creating process, let's begin with the project code. As earlier, we'll begin with the models. These will go in models.js:

var Event = Backbone.Model.extend({});
var Events = Backbone.Collection.extend({
  model: Event,
  url: '/events'
});

For now, this will do. We'll be coming back later to make some interesting changes.

In the server.js file, we'll make our route functions for the route we just defined in the Events class. Before that, though, we'll need our database. We create that as follows:

var db  = new Bourne("db/events.json");

This time, I'm putting the database JSON file in a folder of its own; if you want to do this, make sure you create the db folder.

But now, with the database in place, we can create the GET route. This will simply send all the records in our database back to the browser:

app.get("/events", function (req, res) {
  db.find(function (err, events) {
    res.json(events);
  });
});

The POST route is where the data for...