Public | Automated Build

Last pushed: 2 years ago
Short Description
Generic Hypermedia Application Protocol (HAP) UI.
Full Description

This software is ALPHA.

HAP Browser

Generic Hypermedia Application Protocol (HAP) UI.

The Hypermedia Application Protocol is self-describing, opening the possibility
for fully generic UI's suiting humans. With HAP Browser you can discover and
manipulate your API without the need to install anything additional to your
API. The only thing your API needs are the following CORS headers, because
HAP Browser is a Web App accessing your API on a different origin.

CORS Headers on OPTIONS requests:

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
Access-Control-Allow-Headers: Accept, If-Match, Content-Type

CORS Headers on all other requests:

Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag, Location

Hosted HAP Browser

There is a hosted version of HAP Browser. I'll try to keep it running and
current. But it's not guarantied. Please ping me on Twitter @alexander_kiel
if there are any issues.

There is also an example application called HAP ToDo available. Just put

into the address bar of HAP Browser.


Currently a complete compilation including a production optimized ClojureScript
to JavaScript compilation works using:

lein with-profile production compile :all

Run HAP Browser with Docker

There is an automated build of HAP Browser on Docker Hub which builds a
container running a Nginx web server which delivers the static files of the
HAP Browser web application and proxies the backend services.

The container exposes port 80.

Start the container with the following command

docker run -d --name hap-browser -p 8080:80 akiel/hap-browser


HAP Browser uses figwheel

rlwrap lein figwheel

Currently I get many warnings if I start figwheel without doing a lein clean

Frontend State Management and DOM Update

TODO: React, Om


Copyright © 2015 Alexander Kiel

Distributed under the Eclipse Public License, the same as Clojure.

Docker Pull Command
Source Repository