Best way to expand on Nakama Console

Just got Nakama 3 set up in a local environment, nice work guys! The new dev console looks fantastic and has some great new functionality.
We’ve been thinking for some time about setting up an admin portal that is more user friendly for manipulating our app-specific user and application data for our non-programmer content and user managers. We’ve also got some sql views and analytics we’re running directly on the db that would be great to surface in a more user friendly way. We could do this all separately, but is there a recommended way to add on to the existing console that is compatible with future updates? Thanks, and congrats on the new release!

1 Like

@oscargoldman This is a good question. I’d like to find a way to make the Console UI and API itself more extensible to support customization but its a difficult problem to solve. Do you have ideas on the sort of API you think would work that could span the use cases you have for additional UI?

Perhaps you could also elaborate on the type of analytics workload you run against the database server.

We haven’t really mapped it out fully yet, but as an example we have our own achievement feature we would be good to manage - adding new achievements, or changing the threshold values and rewards etc. We also would add a song management area where we can add new song data - currently this is a manual process of creating the necessary storage records per song and uploading them, so something form based would be ideal.

As far as analytics, we’re currently testing user drop off through our onboarding, and combining in-app data with our flurry metrics to see how far users get and where they drop off. We’d want to add reports like who has unlocked new songs, who has advanced to intermediate or advance levels, who has perfected songs etc, all data currently stored in nakama records.

maybe it would be possible to add a user section to the left side navigation, where additional links are added to the angular router and launch pages or components from a user directory of additional console panels. That code could be a git submodule developers could add to nakama source code with each release. user pages would access lua or go runtime modules.