Skip to content

ReinhardtR/runeprofile

Repository files navigation

Logo

RuneProfile

A place to share your OSRS achievements.
runeprofile.com


RuneProfile aims to be the best place to share your Old School RuneScape achievements with others.

The official Hiscores only shows a subset of your achievements and can be tough to navigate.

RuneProfile tries to display all of your important achievements and in a familiar UI.

The plugin is needed to upload your account data to RuneProfile, which will be displayed on the RuneProfile.com website.

You can read more about how to use RuneProfile here: runeprofile.com/info/guide.

Project Structure

This project is a monorepo managed using Turborepo.

  • apps/api: Backend application serving the API.
  • apps/web: Frontend application for the website.
  • packages/runescape: Shared package for RuneScape related data and utilities.
  • scripts: Various utility scripts for development.

Development

Prerequisites

  • Node.js (version specified in root package.json)
  • pnpm (version specified in root package.json)

Installation

Run the setup script

pnpm dev:setup

Run the apps.

pnpm dev

Since the project is hosted with Cloudflare, this command utilizes wrangler and miniflare to simulate the Cloudflare environment locally.

The frontend will start at localhost:3001 and the backend at localhost:8787.

Adding new RuneScape data

The project has internal definitions of RuneScape data that is used to validate data on the backend and display it on the frontend. These definitions need to be updated when new content is released to the game. These definitions can be found in packages/runescape and can be easily updated by anyone who wants to contribute.

When new items are added, the apps/web/assets/item-icons.json file needs to be updated. The file is generated by running the scripts/generate-icons.ts script.

When new entries are added to the hiscores, the apps/web/assets/hiscore-icons.json file needs to be updated. This file is generated by running the plugin (in developer mode), and using the DEV: Hiscore Icons button in the RuneProfile plugin panel, to generate the file (it will be in the root of the plugin project).