The original project uses mongodb as the persistant data store. I'm a little uncomfortable working with a non-transactional database for key data. This fork is my learning project to break the mongodb persistence layer and replace it with mysql with the sequelize ORM.
A website and user system for Node.js. What you create with Drywall is more important than Drywall.
On The Server | On The Client | Development |
---|---|---|
Express | Bootstrap | Grunt |
Jade | Backbone.js | |
Sequelize | jQuery | |
Passport | Underscore.js | |
Async | Font-Awesome | |
EmailJS | Moment.js |
You need Node.js and MongoDB installed and running.
We use Grunt as our task runner. Get the CLI (command line interface).
$ [sudo] npm install -g grunt-cli
$ git clone [email protected]:jedireza/drywall.git && cd ./drywall
$ npm install
$ mv ./config.example.js ./config.js #set mongodb and email credentials
$ grunt
You need a few records in the database to start using the user system.
Run these commands on mongo. Obviously you should use your email address.
use drywall;
db.admingroups.insert({ _id: 'root', name: 'Root' });
db.admins.insert({ name: {first: 'Root', last: 'Admin', full: 'Root Admin'}, groups: ['root'] });
var rootAdmin = db.admins.findOne();
db.users.save({ username: 'root', isActive: 'yes', email: '[email protected]', roles: {admin: rootAdmin._id} });
var rootUser = db.users.findOne();
rootAdmin.user = { id: rootUser._id, name: rootUser.username };
db.admins.save(rootAdmin);
Now just use the reset password feature to set a password.
http://localhost:3000/login/forgot/
- Submit your email address and wait a second.
- Go check your email and get the reset link.
http://localhost:3000/login/reset/:token/
- Set a new password.
Login. Customize. Enjoy.
- Create a website and user system.
- Write code in a simple and consistent way.
- Only create minor utilities or plugins to avoid repetitiveness.
- Find and use good tools.
- Use tools in their native/default behavior.
- Basic front end web pages.
- Contact page has form to email.
- Login system with forgot password and reset password.
- Signup and Login with Facebook, Twitter and GitHub.
- Optional email verification during signup flow.
- User system with separate account and admin roles.
- Admin groups with shared permission settings.
- Administrator level permissions that override group permissions.
- Global admin quick search component.
MIT