nobodhi / sendlove_io

mongodb, node, express, and pug templates

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sendlove.io

This project is the frontend code for sendlove.io and was forked from sahat's Hackathon Starter, http://hackathonstarter-sahat.rhcloud.com.

This project uses a Swagger API api_sendlove_io for the backend and all its methods are in controllers/sendlove.js.

Project Structure

Name Description
config/passport.js Passport Local and OAuth strategies, plus login middleware.
controllers/api.js Controller for /api route and all api examples.
controllers/contact.js Controller for contact form.
controllers/home.js Controller for home page (index).
controllers/user.js Controller for user account management.
models/User.js Mongoose schema and model for User.
public/ Static assets (fonts, css, js, img).
public/js/application.js Specify client-side JavaScript dependencies.
public/js/main.js Place your client-side JavaScript here.
public/css/main.scss Main stylesheet for your app.
public/css/themes/default.scss Some Bootstrap overrides to make it look prettier.
views/account/ Templates for login, password reset, signup, profile.
views/api/ Templates for API Examples.
views/partials/flash.pug Error, info and success flash notifications.
views/partials/header.pug Navbar partial template.
views/partials/footer.pug Footer partial template.
views/layout.pug Base template.
views/home.pug Home page template.
.travis.yml Travis CI integration.
.env.example Your API keys, tokens, passwords and database URI.
app.js The main application file.
package.json NPM dependencies.

Note: There is no preference 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() paths in controllers.

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.
clockwork Clockwork SMS API library.
connect-mongo MongoDB session store for Express.
dotenv Loads environment variables from .env file.
express Node.js web framework.
body-parser Express 4 middleware.
express-session Express 4 middleware.
morgan Express 4 middleware.
compression Express 4 middleware.
errorhandler Express 4 middleware.
serve-favicon Express 4 middleware offering favicon serving and caching.
express-flash Provides flash messages for Express.
express-validator Easy form validation for Express.
fbgraph Facebook Graph API library.
github-api GitHub API library.
pug (jade) Template engine for Express.
lastfm Last.fm API library.
instagram-node Instagram API library.
lob Lob API library
lusca CSRF middleware.
mongoose MongoDB ODM.
node-foursquare Foursquare API library.
node-linkedin LinkedIn API library.
node-sass-middleware Sass middleware compiler.
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-instagram Sign-in with Instagram plugin.
passport-local Sign-in with Username and Password plugin.
passport-linkedin-oauth2 Sign-in with LinkedIn plugin.
passport-oauth Allows you to set up your own OAuth 1.0a and OAuth 2.0 strategies.
paypal-rest-sdk PayPal APIs library.
request Simplified HTTP request library.
stripe Offical Stripe API library.
tumblr.js Tumblr API library.
twilio Twilio API library.
twit Twitter API library.
lodash Handy JavaScript utlities library.
validator Used in conjunction with express-validator in controllers/api.js.
mocha Test framework.
chai BDD/TDD assertion library.
supertest HTTP assertion library.

License

The MIT License (MIT)

Copyright (c) 2014-2016 Sahat Yalkabov

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

mongodb, node, express, and pug templates

License:MIT License


Languages

Language:JavaScript 63.4%Language:HTML 20.7%Language:CSS 15.9%