/crud-ex-frontend-elm

Elm frontend for my polyglot CRUD project

Primary LanguageElmMIT LicenseMIT

Example frontend CRUD project in Elm.
See my CRUD umbrella project: typesafe-web-polyglot.

Features:

  • Almost (since this is Elm) polymorphic CRUD
    • code reuse across crud-ed entities
    • CRUD components agnostic of each other existence
  • Type safe Web
  • Almost-SPA / SPA design

Other Features:

  • Customizable logging of elm runtime interactions

See also: Naming Conventions/Code Review

TODO List:

  • List pagination support
  • Keep rethinking styling and views
    • should I keep using purecss?

Git:
I am using submodules to get dependencies/elm-purecss, elm-purecss project is not available as elm 0.18 package dependency.

Backend companion projects:
crud-ex-backend-yesod.
crud-ex-backend-servant
crud-ex-backent-http4s

To Run in elm-reactor:
0. Install Elm Platform

  1. Start backend server (see backend instructions).
  2. start elm-reactor
  3. point browser to elm-reactor.html

How to Deploy to Yesod:
This primitive and ugly elm_deploy_to_yesod.sh script assumes folder structure in which this project and the yesod project share the same parent folder.

How to Deploy to Servant:
Included primitive elm_deploy_to_servant.sh script assumes folder structure in which this project and the servant project share the same parent folder.

Conclusions (so far):

  • I like Elm a lot 🎆. Combines FP and simplicity!
  • Would like to see
    • more stable language API
    • package manager working with ported (JS FFI) projects
    • language polymorphism (is it FP without denotational abstractions? laws? proof obligations?)