From 7bb855d56dfa32409071e0f37ad375c7778ff1f0 Mon Sep 17 00:00:00 2001 From: Sahat Yalkabov Date: Fri, 14 Feb 2014 13:09:43 -0500 Subject: [PATCH 1/2] Added a table with list of packages + descriptions --- README.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/README.md b/README.md index b94d2e701c..e3ae9184d6 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ Table of Contents - [Getting Started](#getting-started) - [Obtaining API Keys](#obtaining-api-keys) - [Project Structure](#project-structure) +- [List of Packages](#list-of-packages) - [Useful Tools](#useful-tools) - [Recommended Design](#recommended-design) - [Recommended Node.js Libraries](#recommended-nodejs-libraries) @@ -257,6 +258,40 @@ Project Structure | app.js | Main application file. | | cluster_app.js | Runs multiple instances of `app.js` using Node.js clusters.| +List of Packages +---------------- +| Package | Description | +| ------------- |:-------------:| +| async | Utility library that provides asynchronous control flow. | +| bcrypt-nodejs | Library for hashing and salting user passwords. | +| cheerio | Scrape web pages using jQuery-style syntax. | +| connect-mongo | MongoDB session store for Express. Users will remain logged-in when app restarts. | +| connect-assets | Compiles LESS stylesheets, also concatenates and minifies JavaScript in production mode. | +| express | Web framework. | +| express-flash | Provides flash messages for Express. Uses connect-flash internally. | +| express-validator | Easy form validation for Express. Uses node-validator internally. | +| fbgraph | Facebook Graph API library | +| github-api | GitHub API library | +| jade | Template engine for node.js | +| lastfm | Last.fm API library | +| less | LESS compiler. Used implicitly by connect-assets. | +| mongoose | MongoDB object modeling tool | +| node-foursquare | Foursquare API library | +| nodemailer | Node.js library for sending emails | +| passport | Simple and elegant authentication library for node.js | +| passport-facebook | Sign-in with Facebook plugin. | +| passport-github | Sign-in with GitHub plugin. | +| passport-google-oauth | Sign-in with Google plugin. | +| passport-twitter | Sign-in with Twitter plugin. | +| passport-local | Sign-in with Username and Password plugin. | +| passport-oauth | Allows you to set up your own OAuth 1.0a and OAuth 2.0 strategies. | +| request | Simplified HTTP request library. | +| tumblr.js | Tumblr API library. | +| underscore | Handy JavaScript utlities library. | +| paypal-rest-sdk | PayPal API library. | +| twilio | Twilio API library. | +| validator | Used in conjunction with express-validator in **controllers/api.js**. | + :exclamation: **Note:** There is no difference how you name or structure your views. You could place all your templates in a top-level `views` directory without having a nested folder structure, if that makes things easier for you. Just don't forget to update `extends ../layout` and corresponding `res.render()` method in controllers. For smaller apps, I find having a flat folder structure to be easier to work with. From dc3e6eee5f0e7acb61bf84efbbf22a139d802682 Mon Sep 17 00:00:00 2001 From: Sahat Yalkabov Date: Fri, 14 Feb 2014 13:12:26 -0500 Subject: [PATCH 2/2] Update packages table --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e3ae9184d6..ed36fae8c2 100644 --- a/README.md +++ b/README.md @@ -258,6 +258,10 @@ Project Structure | app.js | Main application file. | | cluster_app.js | Runs multiple instances of `app.js` using Node.js clusters.| +:exclamation: **Note:** There is no difference how you name or structure your views. You could place all your templates in a top-level `views` directory without having a nested folder structure, if that makes things easier for you. Just don't forget to update `extends ../layout` and corresponding `res.render()` method in controllers. For smaller apps, I find having a flat folder structure to be easier to work with. + +:bangbang: **Note:** Although your main template - **layout.jade** only knows about `/css/styles.css` file, you should be editing **styles.less** stylesheet. Express will automatically generate minified **styles.css** whenever there are changes in LESS file. This is done via [less-middleware](https://github.com/emberfeather/less.js-middleware) node.js library. + List of Packages ---------------- | Package | Description | @@ -265,8 +269,8 @@ List of Packages | async | Utility library that provides asynchronous control flow. | | bcrypt-nodejs | Library for hashing and salting user passwords. | | cheerio | Scrape web pages using jQuery-style syntax. | -| connect-mongo | MongoDB session store for Express. Users will remain logged-in when app restarts. | -| connect-assets | Compiles LESS stylesheets, also concatenates and minifies JavaScript in production mode. | +| connect-mongo | MongoDB session store for Express. | +| connect-assets | Compiles LESS stylesheets, concatenates/minifies JavaScript. | | express | Web framework. | | express-flash | Provides flash messages for Express. Uses connect-flash internally. | | express-validator | Easy form validation for Express. Uses node-validator internally. | @@ -293,10 +297,6 @@ List of Packages | validator | Used in conjunction with express-validator in **controllers/api.js**. | -:exclamation: **Note:** There is no difference how you name or structure your views. You could place all your templates in a top-level `views` directory without having a nested folder structure, if that makes things easier for you. Just don't forget to update `extends ../layout` and corresponding `res.render()` method in controllers. For smaller apps, I find having a flat folder structure to be easier to work with. - -:bangbang: **Note:** Although your main template - **layout.jade** only knows about `/css/styles.css` file, you should be editing **styles.less** stylesheet. Express will automatically generate minified **styles.css** whenever there are changes in LESS file. This is done via [less-middleware](https://github.com/emberfeather/less.js-middleware) node.js library. - Useful Tools ------------ - [Jade Syntax Documentation by Example](http://naltatis.github.io/jade-syntax-docs/#attributes) - Even better than official Jade docs.