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/login?email=admin@example.com&key=key to set the proper auth cookie.