https://github.com/serras/lambdaconf-2015-web
Projects for LambdaConf 2015 Haskell web workshop
https://github.com/serras/lambdaconf-2015-web
Last synced: 4 months ago
JSON representation
Projects for LambdaConf 2015 Haskell web workshop
- Host: GitHub
- URL: https://github.com/serras/lambdaconf-2015-web
- Owner: serras
- Created: 2015-04-29T19:27:00.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-07-28T07:47:54.000Z (almost 11 years ago)
- Last Synced: 2025-03-27T19:52:01.186Z (about 1 year ago)
- Language: Haskell
- Size: 188 KB
- Stars: 63
- Watchers: 10
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LambdaConf 2015 Haskell web workshop
### Preparing for the workshop
1. Install Haskell following the instructions of the [download](https://www.haskell.org/downloads) page.
2. Open a terminal.
3. Run `cabal update`.
4. Run `cabal install Spock blaze-html shakespeare aeson stm persistent-template persistent-sqlite esqueleto digestive-functors-blaze Spock-digestive digestive-functors-aeson wai-middleware-static`.
5. If you want to follow the deployment exercise, install [Heroku Toolbelt](https://toolbelt.heroku.com/).
### [Slides](https://docs.google.com/presentation/d/10m9zTl3Lir68VsT-yV_Ke-hvBBuq7Lj08WQ-yxElIKg/edit?usp=sharing)
### Exercises
1. [Returning JSON](https://github.com/serras/lambdaconf-2015-web/blob/master/ex1-json.md)
2. [Software Transactional Memory](https://github.com/serras/lambdaconf-2015-web/blob/master/ex2-stm.md) (advanced)
3. [Database](https://github.com/serras/lambdaconf-2015-web/blob/master/ex3-db.md)
4. [Esqueleto](https://github.com/serras/lambdaconf-2015-web/blob/master/ex4-esqueleto.md) (advanced)
5. [Digestive Functors](https://github.com/serras/lambdaconf-2015-web/blob/master/ex5-digestive.md)
6. [Deployment on Heroku](https://github.com/serras/lambdaconf-2015-web/blob/master/ex6-heroku.md)
### Running an exercise
1. Open a terminal.
2. Go to the folder corresponding to the exercise.
3. Execute `cabal install --only-dependencies`.
4. Execute `cabal build`.
5. The resulting program should be on the `dist` folder, inside a folder with the name of the exercise. You can run this program to start the web server. For example, the first exercise is run with `./dist/ex1-json/ex1-json`.
6. Open your browser of choice and point it to `http://localhost:8080`.