Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Kr-Yogsa/ECE-BOT/llms.txt

Use this file to discover all available pages before exploring further.

ECE-BOT uses a three-tier role system to control access to features. Every account is assigned exactly one role at signup, and only admins can change roles after the fact. The role is embedded in the JWT token and checked on every protected API request.

Roles at a glance

FeatureUserOperatorAdmin
Chat with hardware assistantsYesYesYes
View machine telemetry and dashboardNoYesYes
View live video feedsNoYesYes
Invite operators by emailNoNoYes
Remove operator accessNoNoYes
Access admin dashboardNoNoYes

Role descriptions

User

The default role for anyone who signs up directly. Users can chat with all three hardware assistants (MELFA, PLC, CNC) and view their own chat history. They cannot access machine telemetry, live video, or any admin features.

Operator

An elevated role for technicians and engineers who need machine monitoring access. Operators have all chat permissions plus the ability to view telemetry dashboards and live video feeds for all machines. Operators are created by admins through an invitation flow — they cannot self-register as operators.

Admin

Full access to everything. Admins manage the operator roster, can view all machine data, and are responsible for initial system configuration.
The very first user to complete signup is automatically assigned the admin role. This ensures the system always has at least one administrator and does not require manual seeding. All subsequent self-registered users receive the user role.

Operator invitation flow

Admins invite operators by email from the admin dashboard. The invitee receives an email with a link to the signup page, where they complete their account setup.
1

Admin sends an invitation

From the admin dashboard, the admin enters the invitee’s email address and clicks Invite operator. ECE-BOT creates a placeholder account with the operator role and email_verified = false, then sends an invitation email containing a link to /signup.
2

Invitee opens the signup link

The invitee opens /signup in their browser and enters their email address. Because a placeholder account already exists for that email with the operator role and unverified status, ECE-BOT recognises this as an operator completion rather than a new user signup.
3

Invitee verifies their email and sets a password

ECE-BOT sends a one-time passcode (OTP) to the invitee’s email. The invitee enters the OTP to verify ownership, then sets their display name and password to complete the account.
4

Operator account is activated

After successful verification, email_verified is set to true and the account is active. The new operator can now log in and access machine monitoring features.
If an admin invites an email address that already has a fully verified account, the invitation is rejected. Re-inviting an existing pending operator sends a fresh invitation email without creating a duplicate account.

Removing operator access

Admins can revoke operator access from the admin dashboard. Revoking access downgrades the account to the user role. The account itself is not deleted — the person can still log in and use the chat features.
Downgrading an operator to user is immediate. The affected person’s JWT tokens remain valid until they expire, but all subsequent requests to operator-only endpoints will be rejected once a new token is issued.

Build docs developers (and LLMs) love