Skip to content

Quantum-Yeti/ScratchBoard

Repository files navigation

Scratch Board

Scratch Board is a lightweight desktop productivity app that combines note-taking, sticky notes, a MAC vendor lookup, and MUCH more. Designed for capturing quick notes and playful exploration, it keeps your ideas organized while adding a touch of fun.


Features

Main Tools

  • Sticky Notes: Create colorful, draggable, and resizable sticky notes that auto-save.
  • Custom Links: Add and delete quick links to helpful online resources/knowledge domain articles.
  • Modem Log Parser: Parse DOCSIS modem logs to troubleshoot connection issues.
  • Execute Batch Files: Quickly select and execute a windows batch file.
  • Notepad: Fully integrated Notepad program similar to the Windows Notepad program. Allows saving, editing, and opening of plain-text files.
  • Mac Vendor Lookup: Query a MAC address to find the company and country of origin from the IEEE oui database.
  • Password Generator: Generate a helpful password with entropy.
  • Charts: Informational charts on DOCSIS signals, fiber signals, bandwidth requirements, and much more.

Views

  • Dashboard: Modern dashboard that includes statistics, graphs, and helpful widgets.
  • Sidebar Navigation: Quickly switch between different views of the app.
  • Contacts Rolodex: Add, edit, and delete contacts with names, emails, phone numbers, and websites.
  • Note Categories: Includes categories such as Internet, Email, Phone, Video, Streaming, Notes, and Ideas.

Local Database Storage

  • Scratch Board uses a lightweight local SQLite database to securely store user-generated information such as scratch notes, contacts, categorized notes, and more.
  • Database files are created automatically and can be exported or imported.
  • The database file 'notes.db' is stored in the 'sb_data' folder within a program directory created on startup if it does not yet exist. It is suggested to keep this folder next to 'ScratchBoard.exe' on your desktop.
  • Exported database files are automatically converted into a human-readable '.json' file, which allows for portability and use outside the program.

Extras

  • Search Suggestion Autocompletion: Super fast search suggestions utilizing a Trie data structure with DFS and indexer -> O(n).
  • Rich Text Formatting: All notes can be formatted using rich-text features via toolbar buttons.
  • Image Embedding: All notes can store images using the button in the note editing toolbar.
  • Keyboard Shortcuts: All views and tools have keyboard shortcuts for quick, easy navigation.
  • Easter-Egg: Press 'Ctrl+Shift+A' to play a game if there is down-time.

User Manual

For detailed instructions and a comprehensive guide to using Scratch Board, please refer to the User Manual.


Screenshots

Dashboard

Scratch Board Dashboard

Notepad

Notepad

Modem Log Parser

LogParser

Scratch Notes

ScratchNotes

Mac Vendor Query

MacQuery

Password Generator

PasswordGenerator

Installation (End-Users)

  • Go to Releases
  • Under assets download the latest 'ScratchBoard.exe' file
  • Drag it from your 'downloads' folder to your desktop
  • First run might prompt Windows nag screen therefore click more info -> run anyway
  • Enjoy!

Installation (Build from Source)

Clone the repository:

git clone https://github.com/Quantum-Yeti/ScratchBoard.git

Navigate to the project folder:

cd ScratchBoard

Create a Python virtual environment:

python -m venv venv

Activate the Python virtual environment for your platform:

# On Linux / Mac
source venv/bin/activate
# On Windows (PowerShell)
venv\Scripts\Activate.ps1
# On Windows (Command Prompt)
venv\Scripts\activate.bat

Install all required dependencies:

pip install -r requirements.txt

Run the Python program:

python main.py

License

  • This software is provided free to use for coworkers, personal viewing and evaluation only.
  • Forking, redistribution, modification, and commercial use are strictly prohibited unless approved by the author.

See the LICENSE file for full terms.

Acknowledgements

This project uses the following third-party resources: