From 41522615b0e2a71e83a989f23586ad5f9c400abb Mon Sep 17 00:00:00 2001 From: Jannis Mattheis Date: Sun, 1 Jul 2018 20:36:21 +0200 Subject: [PATCH] Add app to README & Adjust stuff --- README.md | 24 +++++++++++++++++------- ui.png | Bin 0 -> 37627 bytes 2 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 ui.png diff --git a/README.md b/README.md index f13470d..f9307f5 100644 --- a/README.md +++ b/README.md @@ -14,26 +14,33 @@ * [License](#license) ## Motivation -We wanted a simple server for sending and receiving messages (in real time per websocket). For this, not many open source projects existed and most of the existing ones were abandoned. Also, a requirement was that it can be self-hosted. We know there are many free and commercial push services out there. +We wanted a simple server for sending and receiving messages (in real time per web socket). For this, not many open source projects existed and most of the existing ones were abandoned. Also, a requirement was that it can be self-hosted. We know there are many free and commercial push services out there. ## Features -* API (see [api docs][api-docs]) for +* REST-API for * sending messages * receiving messages per websocket * user management * client/device & application management -* *[In Progress]* Web-UI -* *[In Progress]* Android-App -> [gotify/android](https://github.com/gotify/android) +* [REST-API Documentation][api-docs] (also available at `/docs`) +* Web-UI +Gotify UI screenshot + +* Android-App -> [gotify/android](https://github.com/gotify/android) + +[Get it on Google Play][playstore] + +Google Play and the Google Play logo are trademarks of Google LLC. ## Installation ### Docker -The docker image is available on docker hub at [gotify/server](https://hub.docker.com/r/gotify/server/). +The docker image is available on docker hub at [gotify/server][docker-normal]. ``` bash $ docker run -p 80:80 gotify/server ``` -Also there is a specific docker image for arm-7 processors (raspberry pi), named [gotify/server-arm7](https://hub.docker.com/r/gotify/server-arm7/). +Also there is a specific docker image for arm-7 processors (raspberry pi), named [gotify/server-arm7][docker-arm7]. ``` bash $ docker run -p 80:80 gotify/server-arm7 ``` @@ -164,4 +171,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file [codecov]: https://codecov.io/gh/gotify/server [go-report]: https://goreportcard.com/report/github.com/gotify/server [swagger]: https://github.com/gotify/server/blob/master/docs/spec.json - [api-docs]: https://gotify.github.io/api-docs/ \ No newline at end of file + [api-docs]: https://gotify.github.io/api-docs/ + [docker-normal]: https://hub.docker.com/r/gotify/server/ + [docker-arm7]: https://hub.docker.com/r/gotify/server-arm7/ + [playstore]: https://play.google.com/store/apps/details?id=com.github.gotify \ No newline at end of file diff --git a/ui.png b/ui.png new file mode 100644 index 0000000000000000000000000000000000000000..02ed2375c2ea5026a1bd23eba9477e841b028b1c GIT binary patch literal 37627 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 DFGxPT literal 0 HcmV?d00001