A Haskell implementation of realworld.io
Go to file
2024-02-23 10:45:57 +08:00
.devcontainer Upgrade & bugfix 2024-02-23 10:45:57 +08:00
.vscode Add fourmolu support & update config. 2023-05-19 07:06:51 +00:00
app Add fourmolu support & update config. 2023-05-19 07:06:51 +00: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 Upgrade & bugfix 2024-02-23 10:45:57 +08:00
test Simplify the language ext. 2023-05-19 07:37:23 +00: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 Merge branch 'master' into master 2022-05-15 22:31:03 +06: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 Upgrade & bugfix 2024-02-23 10:45:57 +08:00
fourmolu.yaml Add fourmolu support & update config. 2023-05-19 07:06:51 +00: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 Simplify the language ext. 2023-05-19 07:37:23 +00: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.yaml Upgrade & bugfix 2024-02-23 10:45:57 +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