Skip to content

Latest commit

 

History

History
121 lines (84 loc) · 4.94 KB

File metadata and controls

121 lines (84 loc) · 4.94 KB

PRUNplanner Frontend

The frontend application of PRUNplanner.org, the comprehensive empire and base planning tool.

🚀 Features

  • Comprehensive Base Simulation: Design and simulate planetary bases without spending in-game resources, mirroring buildings, production lines, and COGC programs.
  • Empire-Wide Management: Coordinate multiple bases and complex supply chains with an integrated overview of material flows and consumption.
  • Game Data Integration: Seamlessly pulls up-to-date market, planet, and recipe data via the FIO community API.
  • Market Exploration: Dynamic information & charting to visualize historical price trends, supply/demand, and traded volumes.
  • Advanced Optimization Tools like ROI & Profit Calculator: Detailed calculations for production costs and profit per area.
  • Efficient Material I/O: Visual and data-based analysis of production vs. consumption to identify bottlenecks and resource gaps.

Localization & Community Translations

Driven by the incredible efforts of the PRUNplanner community, our planning tools and features are accessible globally. The platform natively supports multiple languages, with more on the horizon:

🇺🇸 English (Native) | 🇩🇪 Deutsch | 🇷🇺 Русский | 🇨🇳 简体中文

Want to see PRUNplanner in your language or help refine existing strings?

Crowdin

👉 Join our translation project on Crowdin

A huge thank you to the following community members who volunteered their time to translate and maintain PRUNplanner translations:

Language Core Contributors
🇩🇪 Deutsch Eisberi
🇷🇺 Русский hameronlive, Razenpok
🇨🇳 简体中文 YuLun-bili, PHANTOMSPACE, MioandMeow

Development

Stack

Preview Builds

Netlify Status

Development previews are powered by Netlify: http://preview.prunplanner.org/

Getting started

Install dependencies with pnpm install and run the vite development:

pnpm run dev

Testing and Coverage

Codacy Badge

PRUNplanners frontend historically lacked proper testing of its non-visual features and data validation. Backend calls can be mocked easily with axios-mock-adapter.

# Run tests
pnpm run test

# Or use vitest-ui
pnpm run test:ui

Environment Variables

Key Type Default Value
VITE_APP_VERSION string "0.xx"
VITE_API_BASE_URL string "https://api.prunplanner.org"
VITE_SHARE_BASE_URL string "https://prunplanner.org/shared"
VITE_GAME_DATA_STALE_MINUTES_BUILDINGS int 1440
VITE_GAME_DATA_STALE_MINUTES_RECIPES int 1440
VITE_GAME_DATA_STALE_MINUTES_MATERIALS int 1440
VITE_GAME_DATA_STALE_MINUTES_EXCHANGES int 30
VITE_GAME_DATA_STALE_MINUTES_PLANETS int 180

Build & Run Frontend

PRUNplanner offers a pre-built ARM64 Docker image for the frontend hosted on GitHub Container Registry: prunplanner-frontend. The image comes with default environment settings and rebuilds on published repository releases.

You can also build and run yourself with Docker:

# Build local
docker build -t prunplanner-frontend:latest .

# Run local build
docker run -p 80:80 prunplanner-frontend:latest --brotli --port 80

# or, run pre-built image (ARM64 only)
docker run -p 80:80 ghcr.io/prunplanner/prunplanner-frontend:latest --brotli --port 80

Or use it with Docker Compose in your docker-compose.yaml:

services:
    frontend:
        image: ghcr.io/prunplanner/prunplanner-frontend:latest
        container_name: prunplanner-frontend
        command: --port 80 --brotli
        ports:
            - "80:80"