https://github.com/vivshaw/herc
real-time functional GraphQL: Haskell & Elm Rudimentary Chat
https://github.com/vivshaw/herc
elm graphql haskell morpheus-graphql real-time yesod
Last synced: 3 months ago
JSON representation
real-time functional GraphQL: Haskell & Elm Rudimentary Chat
- Host: GitHub
- URL: https://github.com/vivshaw/herc
- Owner: vivshaw
- License: mit
- Created: 2020-12-17T03:43:06.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-04-21T05:56:38.000Z (about 4 years ago)
- Last Synced: 2025-01-07T14:20:52.664Z (5 months ago)
- Topics: elm, graphql, haskell, morpheus-graphql, real-time, yesod
- Language: Haskell
- Homepage: https://herc-chat.netlify.app/
- Size: 462 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# herc (Haskell & Elm Rudimentary Chat) 💪
[](https://app.circleci.com/pipelines/github/vivshaw/herc) [](https://app.netlify.com/sites/herc-chat/deploys) [](https://lbesson.mit-license.org/)[herc](https://herc-chat.netlify.app/) is a learning project for getting up to speed with Elm! It is a real-time chat app with Elm frontend and Haskell backend, using GraphQL to enjoy type-safety throughout the stack. 👍
You can also [explore the API](https://herc-server.herokuapp.com/) via GraphQL Playground.
## herc client
[herc client](client) is an Elm single page app. I'm using Webpack to build it and serve up a hot-reloading dev mode, and Apollo Client for GraphQL subscriptions over WebSockets. Please see [the client readme](client/README.md) for more details and installation instructions.
## herc server
[herc server](server) is written in Haskell. I'm using `yesod` as the web framework, and `Morpheus` for GraphQL support. Please see [the server readme](server/README.md) for more details and installation instructions.
## Deployment
Both parts of the app are deployed via CI/CD pipline. The server goes to CircleCI and from there to Heroku, and the client goes direct to Netlify.