Top Banner
Tech Talk Friday, 13 February 2015
12
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OLX-Tech-Talk

Tech TalkFriday, 13 February 2015

Page 2: OLX-Tech-Talk

Create a RESTful API

Express +

Page 3: OLX-Tech-Talk

Roadmap• Express Overview • MongoDB Overview • Learn Express Route • ODM MongoDB with Mongoose • Handle CRUD for an item • Use the proper HTTP verbs to make it RESTful (GET,

POST, PUT, and DELETE) • Return JSON data

Page 4: OLX-Tech-Talk

Getting Started

$ curl https://raw.githubusercontent.com/creationix/nvm/v0.23.3/install.sh | bash

$ source ~/.nvm/nvm.sh

$ nvm install v0.10.36

$ nvm alias default 0.10.36

Install and Setup

Install Node.JS using NVM [Node Version Manager] https://github.com/creationix/nvm

Install MongoDB on OS X

Install MongoDB with Homebrew : $ brew install mongodb

http://www.mongodbspain.com/en/2014/11/06/install-mongodb-on-mac-os-x-yosemite/

Page 5: OLX-Tech-Talk

MongoDB MongoDB is a document database that provides high

performance, high availability, and easy scalability.

source : http://www.mongodb.org/about/introduction/

Schema Less Data strore in JSON-like documents with dynamic Providing flexibity during the development process

Built-in Javascript :)

Page 6: OLX-Tech-Talk
Page 7: OLX-Tech-Talk

“Representational State Transfer (REST) is a software architecture style consisting of guidelines and best practices

for creating scalable web services. REST is a coordinated set of constraints applied to the design of components in a

distributed hypermedia system that can lead to a more performant and maintainable architecture.”

http://en.wikipedia.org/wiki/Representational_state_transfer

What is REST

Page 8: OLX-Tech-Talk

Express Apps$ npm install

$ node server.js

Page 9: OLX-Tech-Talk

Express Route

curl -i -X POST -H 'Content-Type: application/json' -d '{}' http://localhost:3000/user

curl -i -X PUT -H 'Content-Type: application/json' -d '{}' http://localhost:3000/user

curl -i -X DELETE -H 'Content-Type: application/json' -d '{}' http://localhost:3000/user

curl -i -X GET http://localhost:3000/user

Page 10: OLX-Tech-Talk

MongoDB with MongooseJS$ npm install —save mongoose

Page 11: OLX-Tech-Talk

Create MongoDB Model

Page 12: OLX-Tech-Talk

$ git clone [email protected]:aredo/express-rest-api.git

Source Code