Gopad: Web UI
Within this repository we are building the web interface for our
Gopad API server.
Install
You can download prebuilt binaries from the GitHub releases or from
our download site. If you prefer to use containers you could use
our images published on Docker Hub or Quay. You are a Mac
user? Just take a look at our homebrew formula. If you need further
guidance how to install this take a look at our documentation.
If you want to serve the UI by a regular webserver you can also find a tarball
on our downloads server to just get the assets.
Build
This project requires NodeJS to build the sources, the installation of NodeJS
won't be covered by these instructions, please follow the official documentation
for NodeJS. To build the sources just execute the following command
after the setup.
If you also want to publish it as a single binary with our server written in Go
make sure you have a working Go environment, for further reference or a guide
take a look at the install instructions. This project requires
Go >= v1.18, at least that's the version we are using.
git clone https://github.com/gopad/gopad-ui.git
cd gopad-ui
npm install --ci
npm run build
make generate build
./bin/gopad-ui -h
We are embedding all the static assets into the binary so there is no need for
any webserver or anything else beside launching this binary.
Development
To start developing on this UI you have to execute only a few commands. To setup
a NodeJS environment or even a Go environment is out of the scope of this
document. To start development just execute those commands:
npm install --ci
npm run server
make generate build
./bin/gopad-ui --log-level debug server --static dist/static/
The development server reloads the used assets on every request. To properly
work with it you need to start the API server separately since this
project doesn't include it. After launching this command on a terminal you can
access the web interface at http://localhost:8080.
Security
If you find a security issue please contact
gopad@webhippie.de first.
Contributing
Fork -> Patch -> Push -> Pull Request
Authors
License
Apache-2.0
Copyright
Copyright (c) 2018 Thomas Boerger <thomas@webhippie.de>