A React-based client application for Shlink
Find a file
Alejandro Celaya 12cddac27a
Merge pull request #83 from acelaya/feature/insensitive-ordering
Ensured bar graphs are sorted case insensitive
2018-12-19 11:15:30 +01:00
config Applied coding styles to config files 2018-08-26 00:00:53 +02:00
dist Created dist dir 2018-08-05 11:39:49 +02:00
public Ensured react router uses homepage defined in package.jsoin as basename 2018-11-01 08:20:33 +01:00
scripts Applied coding styles to scripts 2018-08-25 23:53:51 +02:00
src Ensured bar graphs are sorted case insensitive 2018-12-19 11:07:47 +01:00
test Moved common and utils services to their own service providers 2018-12-18 20:19:22 +01:00
.dockerignore Updated dockerfile to be used to build a distributable docker image 2018-08-06 20:16:07 +02:00
.eslintrc Created shortUrlDetail reducer test 2018-09-07 20:41:21 +02:00
.gitignore Added docker-related files 2018-06-17 08:04:53 +02:00
.scrutinizer.yml Specified node version in scrutinizer config 2018-08-26 10:40:03 +02:00
.stylelintrc Added stylelint config 2018-08-25 10:22:25 +02:00
.travis.yml Disabled yarn build when a tag exists in travis 2018-12-19 10:38:00 +01:00
CHANGELOG.md Ensured bar graphs are sorted case insensitive 2018-12-19 11:07:47 +01:00
docker-compose.override.yml.dist Updated docker-compose files so that they just use an image and don't need the Dockerfile 2018-08-06 19:41:57 +02:00
docker-compose.yml Added serve as dev dependency 2018-08-23 09:49:13 +02:00
Dockerfile Updated nginx base image for Docker. Closes #79 2018-12-18 20:33:37 +01:00
indocker Added docker-related files 2018-06-17 08:04:53 +02:00
jest.config.js Updated tests config excluding config files form code coverage 2018-12-18 20:24:18 +01:00
LICENSE Added some improvements 2018-05-13 09:48:21 +02:00
package.json Registered first components as services 2018-12-17 20:03:36 +01:00
README.md Fixed typo 2018-11-01 08:49:17 +01:00
yarn.lock Registered first components as services 2018-12-17 20:03:36 +01:00

shlink-web-client

Build Status Code Coverage Scrutinizer Code Quality GitHub release GitHub license Paypal Donate

A ReactJS-based progressive web application for Shlink.

Installation

There are three ways in which you can use this application.

  • The easiest way to use shlink-web-client is by just going to https://app.shlink.io.

    The application runs 100% in the browser, so you can use that instance and access any shlink instance from it.

  • Self hosting the application yourself.

    Get the latest release and download the distributable zip file attached to it (shlink-web-client_X.X.X_dist.zip).

    The package contains static files only, so just put it in a folder and serve it with the web server of your choice.

    Provided dist files are configured to be served from the root of your domain. If you need to serve shlink-web-client from a subpath, you will have to build it yourself following these simple steps.

  • Use the official docker image

    If you want to deploy shlink-web-client in a container-based cluster (kubernetes, docker swarm, etc), just pick the image and do it.

    It's a lightweight nginx:alpine image serving the assets on port 80.

Serve project in subpath

Official distributable files have been build so that they are served from the root of a domain.

If you need to host shlink-web-client yourself and serve it from a subpath, follow these steps:

  • Download node 10.4 or later (if you don't have it yet).
  • Download yarn package manager.
  • Download shlink-web-client source files for the version you want to build.
  • Decompress the file and cd into the resulting folder.
  • Install project dependencies by running yarn install.
  • Open the package.json file in the root of the project, locate the homepage property and replace the value (which should be an empty string) by the path from which you want to serve shlink-web-client.
    • For example: "homepage": "/my-projects/shlink-web-client",.
  • Build the distributable contents by running yarn build.
  • Once the command finishes, you will have a build folder with all the static assets you need to run shlink-web-client. Just place them wherever you want them to be served from.