Lrrr: Like Jrrr, but bigger
This is an example Mojolicious app. Its goals are:
- have users that can login and have different permissions
- be "12-factor" using carton, Heroku, etc, etc
- stick to best-ish practices ( testing, Travis CI, perlcritic, pertidy )
- make use of MongoDB
- be a base/template for making future apps
Add simplest authenticationmove authentication routes into own controllercreate login page ( post )connect authentication to external database ( mongo )wait for November 18th, 2014 for mongolab to upgrade default version to 2.6, argh!- fix travis hack after travis upgrades default mongodb version to 2.6
register new userprevent register dupe usernameprevent bots with captcha or something ( how to automate tests then? )script to create default admin userget default admin user/pass from ENV instead of hardcodedmake authentication more secure ( bcrypt )more tests for authentication, registrationadd authorization ( logged in user can see some things, but not others )- tests for authorization
- tests for user routes
catch-all route, switch routes to use over() conditions- Mojolicious plugins: CSRFProtect, VaildateTiny, Toto
user can create document objects into mongo- roles:
admin,guest, author, reader? - scripts: setup new db,
- more templates/routes:
home,user, user/:username, "posts" ... - bootstrap, bower
- Dockerfile; add mongodb setup? fixtures?
- http://12factor.net/
- https://github.com/kazeburo/heroku-buildpack-perl-procfile
- https://github.com/benvanstaveren/Mojolicious-Plugin-Authentication
- https://github.com/byterock/mojolicious-plugin-authorization
- https://github.com/Bivee/mojolicious-project-base
- https://github.com/naturalist/Mojolicious--Plugin--Bcrypt
- https://github.com/oliwer/mango