Skip to content
Jakob edited this page Jul 22, 2025 · 2 revisions

JustBingo Wiki

Welcome to the official wiki for JustBingo!
This guide covers all aspects of setting up and running JustBingo with both supported backend variants: Node.js and PocketBase (recommended).
You'll also find details on frontend configuration, authentication, and customization.


Table of Contents

  1. Overview
  2. Backend Variants
  3. Frontend Configuration
  4. Authentication & User Management

Overview

JustBingo is a bingo platform supporting two backend options:

  • Included Node.js Backend: Simple and quick to run.
  • PocketBase Backend (Recommended): Modern, user-friendly, and allows easy admin management.

Backend Variants

Node.js Backend

1. Installation

  1. Clone the repository:

    git clone https://github.com/spj2401Dev/JustBingo.git
    cd JustBingo
  2. Navigate to the backend directory:

    cd src
  3. Install dependencies:

    npm install

2. Configuration

  • Environment Variables:
    Copy .env.example to .env and adjust as needed (admin logins via simple Auth and Port/Ip).

  • Running the Server:

    npm start

    The backend should now be running and accessible to the frontend.

3. User Management

  • There is just the one "user" which can be configured in the .env. Other forms of user management are with the Node.JS backend option not supported

4. Configuring the Frontend

  • Drag either of the appsettings.json template from the setup folder into the root of the public folder. (YES ALL DATA ENTERED IS PUBLIC!)
  • Configure the file and set the usingBackend to true and put the correct Url in.

PocketBase Backend (Recommended)

1. Installation

  1. Download PocketBase for your platform.

  2. Initialize PocketBase:

    ./pocketbase serve

    PocketBase will launch a web admin interface at http://localhost:8090/_/.

  3. Create the Scheme manually like described in the Setup folder in the project, or import this scheme: pb_schema.json

Please Note: This only contains the bingoFields and bingoGrids scheme. The users scheme needs to be configured manually. For a JustBingo instance its recomended to:

  • Set API Rules of the users collection to @request.auth.id != "" for all the different methodes except the Update rule. I would disable that.
  • Just Ignore the verified field. JustBingo completly ignores that meaning no emails need to be send out.
  • Also you can delete the avatar fields if you want, because its not used.

2. JustBingo Integration

  • Drag either of the appsettings.json template from the setup folder into the root of the public folder. (YES ALL DATA ENTERED IS PUBLIC!)
  • Configure the file and set the usingPocketBase to true and put the correct Url of your PocketBase instance in.

3. Admin Access

  • After starting the Frontend via some static Web Server, navigate to /admin. There you can log in with your Pocketbase SuperUser (basically the same Login you use for Pocketbase)

Please keep in mind: Both PocketBase SuperUsers and regular Pocketbase Users can log into your JustBingo instance. The Users created in JustBingo are regular users in PocketBase, meaning those users won't be able to log into PocketBase. They can just log into JustBingo, which is recommended if you want to invite people to build Bingo Grids.


Frontend Configuration

The Fontend is supposed to be run on an Static Web Server like Nginx or even Github Pages if you want to. Like already mentioned in the seperate Setup steps, the Frontend requires a appsettings.json folder in the root of the public folder.

{
    "usingPocketBase": true,
    "pocketBaseUrl": "http://127.0.0.1:8090",
    "usingBackend": false,
    "backendUrl": "http://localhost:3000"
}
  • Set the respective usingPocketBase or usingBackend to true. (No you cannot use both.) Then configure the right URLs. As easy as that.
  • Keep in mind. This file is publicly hosted and every client will access it when loading. Do not put any sensitive Url/Data into that file.

Authentication & User Management

PocketBase Auth

Also like already mentioned in the Setup Steps:

  • Superuser:

    • Use your initial PocketBase credentials to log into the /admin panel in JustBingo.
    • Superuser has full admin rights in both PocketBase and JustBingo.
  • Normal Users:

    • Users created through JustBingo’s signup/login are created in PocketBase as standard users.
    • These users cannot access the PocketBase admin panel.
    • They have access only to their JustBingo account.

Node.js Auth

  • Is not really "Auth". Just uses HTTP Basic Authentication with one Login configured in the .env.

Happy Bingo-ing!