Skip to content

Latest commit

 

History

History
67 lines (59 loc) · 2.47 KB

README.md

File metadata and controls

67 lines (59 loc) · 2.47 KB

This project serves to give a basic node.js setup using mongodb. This aims to be a bootstrap for other projects providing a robust yet basic framework on which to build. This is far from a 'feature complete' web site, but everything included should be a solid as possible. If you start a project based on this please let me know!

Build Status

Checkout the demo site to see it in action.

Setup

  • Run 'npm install express -g' if you haven't done so.
  • Run 'npm install' to bring in all dependencies.
  • Make sure that mongodb is running locally.
  • Make sure that redis is running locally.
  • OPTIONAL Copy configDefault.js to configLocal.js and edit values to set the mongo database name, site settings, and get email functionality.

The first time you run app.js a root user will be created for you. The login credentials will be output to the the console.

Stack

  • node.js
  • express
  • mongodb
  • redis

Node Module

  • jade
  • mail
  • mongo-skin
  • connect-redis
  • bcrypt
  • socket.io
  • jquery

Goals

  • Create members
  • Users can create their own accounts
  • Users can update or delete their own accouts
  • Admin can update or delete any user record
  • Root users can do all that admin can plus create admins
  • User list and detail available to all
  • Users can log in and log out
  • Users can choose to remain logged in indefinitely
  • A generic 'post' can be add
  • If the user is not logged in when posting, a basic account is created
  • The basic account cannot log in
  • If a user posts with an email address of an existing account, they must log in
  • Users can edit or delete their posts
  • Admin can edit or delete any post
  • Post list and detail page available to all
  • Both in line and post submit verification of data
  • Passwords are hashed and secure
  • Basic styles and two column design
  • New posts are automatically pushed to users
  • Vows used for unit testing
  • Verify user accounts via email
  • Forgot password / username links
  • Anonymous posts require verification
  • Anonymous posts can be deleted with verification
  • Log in with either username or email - TODO
  • User and posts lists use pagination - TODO
  • User and post lists can be filtered with ajax - TODO
  • RSS feeds are built automatically - TODO

Contribute!

Any feedback is most welcome. If you want to contribute some code, all the better.