A simple TODO app in Haskell using PostgREST as a RESTful API for PostgreSQL.
Note
This app is a demo to showcase how developer experience in a Haskell project can be improved using Nix. We primarily use haskell-flake, services-flake and flake-parts to achieve this.
Learn with our blog post series:
- Introduction
- Switch to flake-parts
- Simplify Nix using haskell-flake
- Integrate external services using services-flake
- ...
nix developTo enter development shell on cd, use direnv
Note
just services starts postgres and postgrest, both of which bind to Unix socket.
just services
# Watch for changes in the Haskell code
just watchNote
todo-app-services-tcp starts postgres, which listens on Unix socket, while postgrest listens on TCP port 3000.
nix run github:juspay/todo-app#todo-app-services-tcp
nix run github:juspay/todo-app -- view