Example application showing snap, heist, authentication and digestive functors working together
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


another snap example application

A web application based on the Snap framework to demonstrate basic authentication functionality. This example shows the following technologies working together:

The code has been separated into several modules how this can be found in (more or less) conventional snap programs. Additionally all the code of those files has also been integrated into a single file that can be run standalone. This should make it easier to understand the code without jumping from one module (file) to another.

A CSS prototyping toolkit is used here to add a bit of "optic sugar" but this is not required by the program to work correctly. Thus a minimal version would be the standalone.hs file plus the snaplet folder which contains the necessary heist templates.

Note that this project is still a first version and offers a lot of potential for improvements. So feel free to fork and modify the code as you think it can work best or just write suggestions to me via Hannes_E@gmx.de (or to hannes_ at #snapframework.)

More information as well as a general introduction can be found here http://snapframework.com.

installation (optional)

cabal install


runhaskell standalone

or (after install)



  • store the firstname and the lastname of the registration
  • let users choose a password
  • add email functionality (see housetab project)
  • replace the json storage backend with hdbc or redis store
  • make the Util.Form library independent from the application
  • add development mode like in a default initialized snap application
  • create a full working web application based on this example ;)