Skip to main content

Larpinq — Features

Larpinq is a worldbuilding and LARP (Live Action Role-Playing) campaign management application for Nextcloud. It provides a complete rule engine for managing characters, players, skills, items, conditions, and events, with a stat calculation engine that applies effects in a deterministic order. Data is stored in OpenRegister (using _register.json auto-import) and characters can be exported as PDF character sheets via the DocuDesk integration.

Larpinq has no direct GEMMA component mapping — it is a domain-specific application for LARP organizations and worldbuilding communities.

Standards Compliance​

Larpinq is a niche domain application with no applicable government or interoperability standards. It inherits platform-level compliance from Nextcloud and OpenRegister.

StandardStatusDescription
WCAG 2.1 AAVia platformAccessibility via Nextcloud and NL Design app
GDPR / AVGVia platformData subject rights via OpenRegister
NL Design SystemVia platformGovernment theming via nldesign app
Schema.orgGedeeltelijkCharacter → schema:Person; Ability → schema:PropertyValue; Skill → schema:Action

Features​

FeatureDescriptionDocs
Character ManagementFull CRUD for characters (PCs, NPCs); stat calculation engine; currency system (gold/silver/copper); approval workflowcharacter-management.md
Character StatsThe Stats tab on a character: each ability with its base, the modifiers that moved it and where they came from, and XP earned, spent and leftcharacter-stats.md
Import and exportExport any list to CSV or Excel, import characters and players, and move a whole campaign as one workbookimport-and-export.md
Lore pagesLore per world that players read once it is revealed, with game master secrets kept hiddenlore-pages.md
Copy a worldStart a new world from a copy of an existing world's rules, for game masterscopy-world.md
Extra character fieldsGame masters add their own fields to character sheets per world; players fill in the ones meant for themcharacter-custom-fields.md
Plots and writingPlots that run through several characters with private and player texts, and the writing progress of plots and charactersplots-and-writing.md
Factions, groups and relationshipsFactions run by game masters, groups run by players with a leader who invites and removes members, and relationships between charactersfactions-and-relationships.md
Character buildsAlternative skill sets for a character, checked against the rules and the XP without changing the sheet, and applied by a game mastercharacter-builds.md
Character status and bulk editCharacters are active, retired or dead, retired and dead ones stay out of new events, and game masters change many characters at oncecharacter-status-and-bulk-edit.md
Worlds and upcoming eventsAn event's world, the per-user world switcher that narrows lists, and upcoming events firstworlds-and-upcoming-events.md
Award XP to a whole eventGame masters award XP to everyone at an event in one save, ticked by check-in, stamped with who awarded itxp-batch-award.md
Events a player attendedThe events a player was checked in at, across characters and years, for game masters and the player themselfplayer-history.md
Event registrationsSign-ups on an event's form become registrations with capacity, a waiting list, approval and the character the player bringsevent-registration.md
Event tickets and optionsTicket types with a role and a listed price, early bird windows, codes that unlock hidden tickets, and options such as a meal plan, chosen on the registrationevent-tickets-and-options.md
Event paymentsA payment request in shillinq per accepted registration, the link and reference for the player, reminders before the pay-by date, and the place released when it goes unpaidevent-payments.md
Cancel and hand overCancel one registration under the event's policy, also one of a group booking, ask shillinq for a refund or credit of a paid one, and hand a registration to another player who accepts itcancel-and-transfer.md
Players who sign up themselvesNew players make their own profile and characters in the portal; game masters review them on one listplayer-self-signup.md
RPG System / Game MechanicsSkills (with prerequisites), Items, Conditions, Effects, Abilities — interconnected rule enginerpg-system.md
Events & PlayersEvent management with date ranges, locations, and effect application to participating characters; player profilesevents-players.md
PDF ExportCharacter sheet PDF export via DocuDesk integration; Twig templates scoped to Larpinqpdf-export.md
Admin SettingsPer-entity data source config: internal DB or OpenRegister register+schema per object typeadmin-settings.md
Register Config Auto-Importlarpinq_register.json bootstraps all schemas and registers on install via repair stepregister-config-json.md
Object ServiceRegisterObjectFetcher resolves OpenRegister mappers per object type from IAppConfigobject-service.md
DashboardApp landing page with ApexCharts infrastructure for campaign analyticsdashboard.md
Larping Skill WidgetNextcloud Dashboard Widget showing skill usage distribution as a pie chart via GraphQL facetinglarping-skill-widget.md
Deep Link RegistrationRegisters URL templates for all entity types in OpenRegister's unified search providerdeep-link-registration.md
User SettingsPersonal preferences: event reminders, character update notifications, default viewuser-settings.md
Search ServiceUtility methods for MongoDB/MySQL filter construction and query string parsing (legacy inherited code)search-service.md

Architecture​

Larpinq uses a pure OpenRegister data model. All entity types (Character, Player, Ability, Skill, Item, Condition, Effect, Event) are stored as register objects, with schemas defined in larpinq_register.json (OpenAPI 3.0 format) and auto-imported on app install.

Key architectural components:

  • RegisterObjectFetcher — Central data access service resolving OpenRegister mappers per type from IAppConfig
  • CharacterService — Stat calculation engine: applies effects from skills, items, conditions, and events in deterministic order
  • DocuDesk integration — PDF generation delegated to DocuDesk's PdfService; gracefully degrades when DocuDesk is not installed

GEMMA Mapping​

GEMMA ComponentLarpinq Role
N.v.t.Domain-specific LARP / worldbuilding campaign management