CME Tracker - README
=====================

Overview
--------
CME Tracker is a cross-platform desktop application that helps medical professionals record, organize, and report Continuing Medical Education (CME) activities. 
It securely tracks your CME hours by date, course title, credit hours, and type (MD, DO, or Other), and can generate printable reports over any date range.

System Requirements
-------------------
- Java 17 or later (OpenJDK or Oracle JDK — version 25+ recommended)
- SQLite JDBC Driver (included as sqlite-jdbc-3.50.3.0.jar)
- Works on:
  - Windows 10 / 11
  - macOS (Intel or Apple Silicon)
  - Linux (Ubuntu, Fedora, Debian, etc.)

Folder Contents
----------------
CMETracker/
├── CMETracker.jar
├── sqlite-jdbc-3.50.3.0.jar
├── BBBTransparentLogl.png
├── run_cmetracker.sh        ← Launcher for macOS/Linux
└── run_cmetracker.bat       ← Launcher for Windows

Running the Application
------------------------

Windows
-------
1. Make sure Java is installed:
   java -version
   (If not found, install from https://adoptium.net/)

2. Double-click run_cmetracker.bat 
   OR open Command Prompt and run:
   java -cp "CMETracker.jar;sqlite-jdbc-3.50.3.0.jar" Main

3. The login window will appear — either register a new account or log in.

macOS
------
1. Open Terminal.
2. Navigate to the CMETracker folder:
   cd /path/to/CMETracker
3. Make sure the script is executable:
   chmod +x run_cmetracker.sh
4. Run it:
   ./run_cmetracker.sh

Linux
------
1. Open your terminal (Bash, Konsole, GNOME Terminal, etc.).
2. Navigate to the CMETracker folder:
   cd ~/CMETracker
3. Make the launcher script executable:
   chmod +x run_cmetracker.sh
4. Run it:
   ./run_cmetracker.sh

Application Usage
-----------------
Login / Register
- On first launch, click Register to create your account (username + password).
- Then use Login to access your CME records.

Adding CME Courses
- Enter:
  - Date (YYYY-MM-DD)
  - Course Title
  - Credit Hours
  - Type (MD, DO, or Other)
- Click Add CME to save your entry.

Each user only sees their own CME records.

Generating Reports
- Enter a Start Date and End Date.
- Click Generate Report.
- The app displays:
  - All CME entries within the range
  - Totals by category (MD, DO, Other)
  - Grand total hours
- Click Print Report to produce a printable summary.

About Box
- Click About CME Tracker for version info and credits.

Data Storage
-------------
- All user and course data are stored in cme.db (SQLite database).
- By default, it resides in the same folder as the JAR.
- You can safely back up this file to preserve your records.

Troubleshooting
----------------
Issue: "Could not find or load main class Main" (Windows)
Solution: Use ; instead of : in the classpath — or run with run_cmetracker.bat

Issue: Login screen doesn’t appear
Solution: Make sure sqlite-jdbc-3.50.3.0.jar is in the same folder

Issue: "Username or password incorrect"
Solution: Register a new user or verify case-sensitive login

Issue: Print window doesn’t open
Solution: Ensure Java printing permissions are enabled

Issue: Date input rejected
Solution: Use YYYY-MM-DD format (e.g., 2025-03-15)

Advanced (Developers)
----------------------
If you want to compile manually:
   javac -cp "sqlite-jdbc-3.50.3.0.jar" *.java
   jar cfe CMETracker.jar Main -C . .

Credits
-------
CME Tracker
Developed by Ross Contino
Website: https://bytesbreadbbq.com

Logo © Bytes, Bread, and Barbecue — All Rights Reserved.
