Initial project skeleton

Haskell backend: Orb HTTP framework, JSON-only API
Frontend: Mithril.js SPA with TypeScript, Neo Brutalism CSS
Dockerized build via flipstone/haskell-tools image

Routes:
  GET /api/health — health check

Build: ./hs stack build
Test:  ./hs stack test
Run:   ./scripts/run
This commit is contained in:
2026-07-15 14:51:27 -04:00
commit 72d94170b4
24 changed files with 964 additions and 0 deletions
+75
View File
@@ -0,0 +1,75 @@
name: sis-server
version: 0.1.0
synopsis: Shared household chore/task tracker
description: A todo tracker for households and groups with shared
repeated responsibilities. JSON API backend for a
Mithril.js SPA frontend.
author: James Brechtel
maintainer: james@flipstone.com
copyright: 2026 James Brechtel
license: BSD-3-Clause
default-extensions:
- DerivingStrategies
- ImportQualifiedPost
- LambdaCase
- OverloadedStrings
- RecordWildCards
- TupleSections
ghc-options:
- -Wall
- -Werror
- -Wcompat
- -Widentities
- -Wincomplete-record-updates
- -Wincomplete-uni-patterns
- -Wmissing-export-lists
- -Wmissing-home-modules
- -Wpartial-fields
- -Wredundant-constraints
dependencies:
- base >= 4.7 && < 5
- aeson
- beeline-routing
- bytestring
- containers
- http-types
- json-fleece-aeson
- json-fleece-core
- mtl
- optparse-applicative
- safe-exceptions
- shrubbery
- text
- time
- wai
- warp
library:
source-dirs: src
dependencies:
- orb
executables:
sis-server:
main: Main.hs
source-dirs: app
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
dependencies:
- optparse-applicative
- orb
- sis-server
- unix
tests:
sis-server-test:
main: Spec.hs
source-dirs: test
dependencies:
- hspec
- sis-server