A Haskell implementation of realworld.io
Go to file
2022-04-21 23:35:00 +08:00
.vscode Remove salt and use Bcrypt for password hash 2021-11-23 22:38:16 +08:00
app Add docker support 2022-04-20 22:45:05 +08:00
nginx Host React SPA with docker 2022-04-21 23:35:00 +08:00
sql Remove salt and use Bcrypt for password hash 2021-11-23 22:38:16 +08:00
src Host React SPA with docker 2022-04-21 23:35:00 +08:00
test Add docker support 2022-04-20 22:45:05 +08:00
.dockerignore Add docker support 2022-04-20 22:45:05 +08:00
.editorconfig Update README and add editorconfig 2021-07-11 20:15:04 +08:00
.gitignore Add docker support 2022-04-20 22:45:05 +08:00
ChangeLog.md First commit 2021-07-11 18:07:10 +08:00
docker-compose.override.yml Add docker support 2022-04-20 22:45:05 +08:00
docker-compose.yml Host React SPA with docker 2022-04-21 23:35:00 +08:00
Dockerfile Add docker support 2022-04-20 22:45:05 +08:00
hie.yaml Add auth api test 2021-08-07 22:34:30 +08:00
LICENSE First commit 2021-07-11 18:07:10 +08:00
package.yaml Add docker support 2022-04-20 22:45:05 +08:00
README.md Update README 2022-04-20 22:53:33 +08:00
Setup.hs First commit 2021-07-11 18:07:10 +08:00
stack-8.10.6.yaml Update the stack.yaml 2022-04-19 18:43:44 +08:00
stack-9.2.2.yaml Update the stack.yaml 2022-04-19 18:43:44 +08:00
stack.yaml Update the stack.yaml 2022-04-19 18:43:44 +08:00

Haskell-realworld-example

A Haskell implementation of realworld.io

Tech stack

  • RIO is an alternative Prelude
  • Servant for web api implementation
  • cryptonite for Cryptography
  • PostgreSQL for persistence
  • Rel8 for interacting with PostgreSQL databases

Get start

git clone https://github.com/nodew/haskell-realworld-example.git
cd haskell-realworld-example

# Run with docker
docker-compose -f ./docker-compose.yml -f up

# Otherwise, manually build
stack build

# Setup postgres connection string
POSTGRES_CONNECT_STRING="host=localhost port=5432 user=postgres password=postgres dbname=conduit connect_timeout=10"
# Setup default key for JWT
JWK_STRING=xxxxxxxxxxxxxxxx

stack exec conduit-server-exe

TODO

  • Add integration tests
  • Add DB migrator
  • Build full static Haskell binaries with docker or nix
  • Support docker compose