This is a frontend application for the Instanssi.org APIs. It is intended to provide functionality similar to the venerable Kompomaatti:
- Browsing party events
- Posting compo entries
- Joining competitions
- Voting
Improvements over the original may or may not include:
- Faster navigation
- Mobile-friendly layout
- Full localization support
Made available under the terms of the MIT license. See LICENSE for details.
Clone the repository and copy src/config.dist.ts to src/config.ts. The example configuration should work when deploying the frontend to instanssi.org.
Get Node.js 8 LTS (or higher) and npm or yarn, and try building the application with:
yarn&&yarn run build
This will download dependencies from npm / yarnpkg and try to build the application.
Copy the built files from build/ to your web server and configure it to serve them under /kompomaatti.
The application uses HTML5 history manipulation for routing, so have the webserver serve the built index.html for any unknown files under that path.
To start the development server, do:
yarn run start
This will build and serve the frontend from your local machine, re-building and refreshing the page on any changes.
To emulate the intended production environment, the application is served under http://localhost:8080/kompomaatti. Other paths are proxied to http://localhost:8000, which is assumed to be the API and the rest of the site.
You can change the proxy target by setting the environment variable INSTANSSI_URL.
The unit tests use Jest and Enzyme to test individual components in isolation. To run tests, try:
yarn run test
You can leave the tests running in the background with:
yarn run test:watch
When in watch mode, Jest will run tests related to files that have been changed in your git repository.