/client

Primary LanguageJavaScript

Chicago Worldcon 2022 Member Services Client

This project was forked from the Worldcon75 code at https://github.com/worldcon75/client

These are the front-end clients used by the Chicago 2022 WorldCon Bid implemented as single-page react + redux apps. For the back-end code, please see ChicagoWorldcon/api.

Getting Started

Use npm install to fetch the required dependencies, and see package.json for the various npm run targets; the default npm start uses webpack-dev-server to incrementally re-build and serve the client code at http://localhost:8080/ during development.

To use the client, you'll need a ChicagoWorldcon/api server that you can connect to. In development, the server is assumed to run at its default local address https://localhost:4430/; in production, the default is to use the same host that server the client code. To specify a different target, use the API_HOST environment variable:

API_HOST=api.chicagoworldcon.org npm start

For other environment variables, see webpack.config.js. If you're running Docker in a VM and have the DOCKER_HOST environment variable set, that will replace the default localhost hostname.

IMPORTANT: As all server connections require https and the default development server uses a self-signed certificate for localhost, you'll need to open it directly at https://localhost:4430/ to trigger your browser's functionality for bypassing the warning. Until you do that, your browser will silently block the client's API calls:

  • Chrome: Click on Advanced, then Proceed to example.com
  • Firefox: Click on I Understand the Risks, then Add Exception...., then Get Certificate, and finally Confirm Security Exception
  • IE: Click on Continue to this website (not recommended)
  • Safari: Click on Show Certificate, Always Trust "example.com" when connecting to "example.com", then Continue

Also important: the API server by default self-hosts a client that uses the latest-release production code hosted on GitHub Pages, so you should make sure that after bypassing the certificate warning you navigate to your actual client development version, at http://localhost:8080/.

kansa-admin

Currently, kansa-admin is set up to run completely separately from the main client interface. For development, both use the same server address http://localhost:8080/ so the back-end CORS settings should not need to be updated and authentication cookies can be shared. To use it, it may be easier to login first using client, or by visiting the API endpoint https://localhost:4430/api/login?email=admin@example.com&key=key to set the proper auth cookie.