Sample JSON APIs with sqlite3 crud operations using Yesod library.
| Dir | Information |
|---|---|
| app | Build and deploy files |
| config | Database table and route configurations |
| src | Request Handlers and database migration files |
| static | *ignore/ Template static files |
| test | test cases |
git clone https://github.com/subhodi/haskell-yesod-rest-server.git
cd haskell-rest-boilerplate
stack install
stack build
stack runyesod add-handlerpackage.yaml vs cabal fileissue: Delete.cabalfrom the root directory and runstack buildandstack runbefore starting dev serverDatabase migration manual intervention required. The unsafe actions are prefixed by '***' belowissue: Delete .sqlite3 file from root direcotry and start dev server
Start a development server with:
stack exec -- yesod devel
As your code changes, your site will be automatically recompiled and redeployed to localhost.
stack test --flag web-boilerplate-haskell:library-only --flag web-boilerplate-haskell:dev
(Because yesod devel passes the library-only and dev flags, matching those flags means you don't need to recompile between tests and development, and it disables optimization to speed up your test compile times).
- If you haven't already, install Stack
- On POSIX systems, this is usually
curl -sSL https://get.haskellstack.org/ | sh
- On POSIX systems, this is usually
- Install the
yesodcommand line tool:stack install yesod-bin --install-ghc - Build libraries:
stack build
If you have trouble, refer to the Yesod Quickstart guide for additional detail.
- Read the Yesod Book online for free
- Check Stackage for documentation on the packages in your LTS Haskell version, or search it using Hoogle. Tip: Your LTS version is in your
stack.yamlfile. - For local documentation, use:
stack haddock --opento generate Haddock documentation for your dependencies, and open that documentation in a browserstack hoogle <function, module or type signature>to generate a Hoogle database and search for your query
- The Yesod cookbook has sample code for various needs
- Ask questions on Stack Overflow, using the Yesod or Haskell tags
- Ask the Yesod Google Group
- There are several chatrooms you can ask for help:
- For IRC, try Freenode#yesod and Freenode#haskell
- Functional Programming Slack, in the #haskell, #haskell-beginners, or #yesod channels.