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.
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/
.
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/[email protected]&key=key
to set the proper auth cookie.