Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Example application showing snap, heist, authentication and digestive functors working together

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 log
Octocat-spinner-32 resources
Octocat-spinner-32 snaplets
Octocat-spinner-32 src
Octocat-spinner-32 .gitignore
Octocat-spinner-32 README.md
Octocat-spinner-32 digestive-functors-snap-auth-example.cabal
Octocat-spinner-32 example.db
Octocat-spinner-32 standalone.hs
README.md

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

run

runhaskell standalone

or (after install)

digestive-functors-snap-auth-example

todo

  • 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 ;)
Something went wrong with that request. Please try again.