Skip to content

Architecture Overview

Obbie consists of three main componenets:

Most comunication related to the Dashboard happens through the bot client, which hosts a express.js api.

Bot API

Every server (that has had settings configured) has a main serverSettings record. This record can only be accesed via the bot’s API.

Most routes on the bots API are protected and require a oauth API key. This key is obtaied when a user logs into the dashboard, this key is stored in a record associated with their account.

When a user requests something from a protected route, the bot client goes out to Discord and checks who owns this token, before than performing the requested action as the token owner.

Supabase

Supabase is a free and open source project that contains Obbie’s authentication and database.

All the data that persists in Obbie is contained withing Supabase’s PostgresSQL database.