A backend database and API server for DV built with PocketBase, providing user management, inventory tracking, and other features for the DV ecosystem.
- User management
- Item inventory system
- Economy with balance tracking
- Infraction management system
- Automatic daily rewards system
- Cross-platform (Windows & Linux)
- Go 1.23.4 or higher
- Git
-
Clone the repository:
git clone https://github.com/WOFTNW/DVPocketBase.git cd DVPocketBase
-
Build for your platform:
Windows:
./Build.bat
Linux:
./Build.sh
Windows:
./run.bat serve
Linux:
./run.sh serve
By default, the server will start on http://localhost:8090 with the admin dashboard available at http://localhost:8090/_/
after running the server head to the dashboard to create a superuser account that will allow you to manage the dashboard
to load the Schema head to the settings tab in the Dashboard then under Sync go to import collections hit the load From JSON file button pick the json file under /schemea/pb_schema.json
The database includes the following collections:
- users: Stores user information including Discord ID, Minecraft username, balance, etc.
- items: Configurable items with prices, descriptions, and actions
- user_inventory: Many-to-many relationship between users and items
- infractions: User warning and moderation records
/main.go
- Application entry point/builds/
- Compiled executables (ignored by Git)/pb_data/
- Database and storage files/pb_public/
- Public static files/scheme/
- Database schema definitions
Use the build scripts to compile for your platform: Windows
./Build.bat
Linux
./Build.sh
The project includes CI/CD workflows that:
- Build the application for Windows and Linux
- Run tests