#23 open
davesag (at gmail)

code review and polish

Reported by davesag (at gmail) | September 29th, 2010 @ 03:25 PM | in v1.0

The whole code base needs to be gone over with fresh eyes with a view to

* repetition (there is a lot right now)
* conformance to best practice / industry norms (compare with other sinatra apps)
* further automated test opportunities
* documentation (RDoc)

Comments and changes to this ticket

  • davesag (at gmail)

    davesag (at gmail) October 5th, 2010 @ 01:16 PM

    • State changed from “new” to “open”

    After the whole debacle of my 'handler' based modular approach failed because it would not run on Heroku, I reverted to an 'all handlers in one file' strategy just to get it to work.

    But today I read http://rubylearning.com/blog/2010/09/21/writing-modular-web-applica...

    This is interesting and described how to do what i was trying to do, but properly.

    We need to write some proper Sinatra extensions and break the handlers up into proper Rack middleware components to deal with the "one big frank file" issue.

    In addition, Frank needs to understand more common authentication schemes and take advantage of Rack's underlying powers to share session data between middle components.

    In this way we can just Gem up Frank as per the link above and other apps can simply add their own middleware components to extend it.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Frank is intended to be a very simple but feature complete web-app built on top of Sinatra that provides simple user login, password reminder, and user email verification with support for simple roles. It is intended to be used by other developers as both a well documented example of Sinatra in use, and a starting point for others wishing to implement simple web apps very quickly.

Shared Ticket Bins

People watching this ticket