Skip to content
Maattt GoobyFRS edited this page Mar 13, 2025 · 8 revisions

Welcome to the GoobyDesk Documentation Wiki on GitHub.

GoobyDesk is a simple, lightweight, databaseless service desk for Home Labbers, Families, and very Small Businesses.

It features a homepage, a login page, and a dashboard. On the homepage (index.html) external users can submit a ticket. When a user submits a ticket, it's content is written to the local tickets.json file.

Once the ticket has been written, an email containing the ticket-id and original ticket are sent to the end user provided email. The email is sent from the email box defined in the .env file.

There is a background thread defined in the code that monitors the inbox for incoming replies. If a reply is detected, it is scraped and put into the notes variable in the tickets.json file. This occurs every five minutes via graceful login and logout process.

The dashboard displays Open or In-Progress tickets.

Code Standards

Use as few dependencies as possible. When multiple package options are available; use the one with the best documentation.

Update CHANGELOG when pushing code/function changes. I need to be better about this.

When making code changes, ensure the following features work as designed....

  1. Technicians can login to the dashboard.
  2. Technicians can successfully logout.
  3. Protected pages cannot be loaded without the session cookies.
  4. Discord webhooks trigger on ticket creation and status changes.
  5. User tickets generate email threads.
  6. Email replies append to the notes of the tickets.json file.
  7. Technicians can append notes from Ticket-Commander.
  8. Closed tickets are hidden from the Dashboard but remain in the tickets.json file.
  9. HTML Templates render as expected.
  10. No Error, Warning, or Critical logs to the logging file during normal operation.
  11. Debug=False

How to Contribute

No expectations are defined yet.

KNOWN LIMITATIONS AND CAVEATS

  • Replies appending to notes can get long-winded as the thread gets larger.
  • The employee login cannot contain certain but unknown characters. "-" seems to cause issues.
  • There is no visible error message when technician login fails.