This is the home of Moot, a CFP and event management system. To learn more, please see the slides for the launch announcement.
If you're interested in learning Haskell or would like to help, please contact me! We're still looking for:
- Backend and frontend developers
- Designers
- UI/UX pros
- People willing to help with tutoring and teaching
I'll (Chris) be doing the heavy lifting but I'd like this application to be an opportunity for people to kick around a real Haskell application. To that end, I'm offering tutoring to folks interested in helping out. Don't be afraid to help out in one capacity (e.g. UI/UX) while asking for tutoring in another.
The easiest way to contact me is to send a message to the email address on my GitHub profile.
After installing Postgres, run:
sudo -u postgres createuser moot --superuser
sudo -u postgres createdb moot_dev
sudo -u postgres createdb moot_test
echo "ALTER USER moot WITH PASSWORD 'moot'" | sudo -u postgres psql
If using Postgres.app: https://postgresapp.com/documentation/cli-tools.html Homebrew: https://www.codementor.io/engineerapart/getting-started-with-postgresql-on-mac-osx-are8jcopb
Either way, these commands should be in your path and you shouldn't need to sudo as a separate user specially made for Postgres in the typical macOS PostgreSQL server install:
createuser moot --superuser
createdb moot_dev
createdb moot_test
echo "ALTER USER moot WITH PASSWORD 'moot'" | psql
???
- 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
yesod
command 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.
This should install the yesod
binary for the development server and also install the dependencies for the gulp build:
make deps
Start the gulp watch with:
make frontend-watch
Start a development server with:
make backend-watch
As your code changes, your site will be automatically recompiled and redeployed to localhost.
stack test --flag moot:library-only --flag moot: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).
- 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.yaml
file. - For local documentation, use:
stack haddock --open
to 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.