Sign inSign up

valorad/billy-cdk

By valorad

•Updated over 6 years ago

BillyCDK Remastered Edition. Manage game platforms, manage CDK inventory and more.

Image
0

474

valorad/billy-cdk repository overview

⁠billy-cdk

Docker pulls Image version Image Info

BillyCDK Remastered Edition. Manage CDKey inventory and more. Featuring C#, TypeScript, GraphQL, React-Redux and more.

⁠Demo

A demo has been uploaded to Bilibili⁠ and Youtube⁠.

⁠Features

Currently, you are automatically logged in as Billy, a super admin. The user info will be saved in the redux store after a successful log-in.

Cover

⁠How to navigate

The UI of BillyCDK is inspired by the Fallout 4 terminal.

You can click the menu items with mouse clicking or by tapping, just like browsing a normal website.

Also, since this is designed as a terminal interface, you can try navigating with your keyboard. Try selecting a menu with arrow keys, press "Enter" to go into a menu, or press "ESC" to go back. Besides, you can always press the "Home" key to go back to the main menu. Currently, to focus different items in a form interface (e.g. Add a new game window), you need to press the "Tab" key to switch your input focus.

⁠Buy games from the store

Buygames

⁠View the player list

ViewPlayers

⁠Manage the CDKeys

ManageCDKeys

⁠Manage players

ManagePlayers Admins can manage the players. They can help to register a new player, edit the information of an existing player, or delete a player.

⁠Manage store games

ManageStoreGames Admins have the privilege to manage the store. They can publish a new game, edit the details of the existing games, or delete a game.

⁠Issue CDKeys for games

IssueCDKeys Admin can issue CDKeys for a certain game. To to that, you need a CDKey value prepared in advance.

⁠Todo

Server:

  • ✔ CDKey Management (add, get, update, remove)
  • User authorization (player sign-up, login)
  • Premium Examination
  • ❌ Platform management (restart, download, delete)

Client:

  • UI
  • i18n

⁠Class diagram for CDK inventory

billy-cdk-class

⁠Deployment

⁠Preparations
  • A working MongoDB: Set up via docker⁠ or install one manually⁠.

  • secrets.yaml for DB connection configs.

  • appsettings.yaml for appliaction settings.

    • Set a basePath if the server is behind a reverse-proxy (e.g. Nginx, Kubernetes)

    • Do remember to specify the Kestrel Url in appsettings.yaml, otherwise, you cannot access the server! Refer to server/App/appsettings.Development.yaml for hints or refer to section ListenOptions.UseHttps⁠ on article "Kestrel web server implementation in ASP.NET Core".

⁠Docker

Run:

docker run -d \
--network my-vps-main-network \
--name billy-cdk-c1 \
-v /path/2/appsettings.yaml:/www/billyCDK/appsettings.yaml \
-v /path/2/secrets.yaml:/www/billyCDK/secrets.yaml \
valorad/billy-cdk:latest
⁠Manually
  • Install .NET Core Runtime⁠ ^3.1.0

  • Download the release version, extract files, and locate the directory.

  • Run:

    dotnet BillyCDK.dll
    

Github has a problem accessing the git submodule with relative paths. You can access them from the links below.

⁠Original version

The original version⁠ was developed in 2014 as a personal project after finishing the C programming course.

Tag summary

Content type

Image

Digest

Size

44.2 MB

Last updated

over 6 years ago

docker pull valorad/billy-cdk