User-facing application to make bulk data changes to maps on your Gather.Town account. The application uses the Gather http API to query and mutate map data associated with your account.
I was commissioned to help out with mass asset uploading for an online festival called Festival Theater der Welt: Our house is on fire!. There were about 30 maps that needed digital assets to be uploaded and placed. Doing this manually was tedious, so instead I wrote scripts that used the Gather http API to automate the process. I then decided to build a user-interface so that if others were in the same position, they could easily update map data in bulk without writing any scripts.
-
Edit map data using a form and update as you go.
-
Backup map data from Gather.Town servers to a JSON file.
-
Add your API key and multiple Space ID/Map ID configurations to the application (these are stored in your browser using the localStorage Web API).
-
Ability to upload data to the form from a backed up JSON file
-
Upload local images to the gather town server and recieve image URLs to be used in form data.
Built with
- Docker
- Typescript
- Server-side
- Client-side
- Docker
- docker-compose
- Git (Optional)
- Download this repository by using
git clone
or download it as a zip file. - Unzip the repository if you need to, open up a terminal and change directory to the root of the repository.
- Run
docker-compose up
. This will build the client and server images and spin up the containers so you can run a local version of the application. - Once the terminal output says 'You can now view client in the browser', open up a browser at http://localhost:3000/ to find the application running.
- Click 'Add new Space' to enter your Space-ID and Map-ID. These properties are found in the mapmaker view in the Gather.Town application.
- Add your API key by clicking 'Edit API Key'. If you don't already have one generated, you can generate one here.
- The application will now pull data from the Gather.Town server for you to edit and update as you please.
If you have suggestions for new features or have found a bug, please write a new issue.
If you would like to contribute to the list of issues, please create a new pull request.