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
+130
View File
@@ -0,0 +1,130 @@
cabal-version: 2.2
-- This file has been generated from package.yaml by hpack version 0.38.1.
--
-- see: https://github.com/sol/hpack
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
build-type: Simple
library
exposed-modules:
Sis
Sis.Server
Sis.Types
other-modules:
Paths_sis_server
autogen-modules:
Paths_sis_server
hs-source-dirs:
src
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
build-depends:
aeson
, base >=4.7 && <5
, beeline-routing
, bytestring
, containers
, http-types
, json-fleece-aeson
, json-fleece-core
, mtl
, optparse-applicative
, orb
, safe-exceptions
, shrubbery
, text
, time
, wai
, warp
default-language: Haskell2010
executable sis-server
main-is: Main.hs
other-modules:
Paths_sis_server
autogen-modules:
Paths_sis_server
hs-source-dirs:
app
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 -threaded -rtsopts -with-rtsopts=-N
build-depends:
aeson
, base >=4.7 && <5
, beeline-routing
, bytestring
, containers
, http-types
, json-fleece-aeson
, json-fleece-core
, mtl
, optparse-applicative
, orb
, safe-exceptions
, shrubbery
, sis-server
, text
, time
, unix
, wai
, warp
default-language: Haskell2010
test-suite sis-server-test
type: exitcode-stdio-1.0
main-is: Spec.hs
other-modules:
Paths_sis_server
autogen-modules:
Paths_sis_server
hs-source-dirs:
test
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
build-depends:
aeson
, base >=4.7 && <5
, beeline-routing
, bytestring
, containers
, hspec
, http-types
, json-fleece-aeson
, json-fleece-core
, mtl
, optparse-applicative
, safe-exceptions
, shrubbery
, sis-server
, text
, time
, wai
, warp
default-language: Haskell2010