How markjustine28/ojt-hours-tracker works
OJT Hours Tracker lets users record daily hours and status, configure a required-hours target, review monthly progress, and export DTR reports. The browser app calls a shared Express API, which validates requests and reads or writes settings and entries in Firestore; the same API is started locally or exposed through Firebase Functions. The graph also includes the documented dashboard/reporting capability. Its exact behavior is only partly visible in script.js, and dashboard.html is present but unsampled, so those details are not expanded.
Main entry points: firestore-app.js Express API · script.js Calendar tracker · index.html Tracker pages · dashboard.html Dashboard page
Components 11
Browser app
- Calendar tracker
script.js - Progress dashboard
script.js - Tracker pages
index.html - Dashboard page
dashboard.html
API service
- Express API
functions/firestore-app.js - API handlers
functions/firestore-app.js - Node server
server.js - Firebase endpoint
functions/index.js
Persistence
- Firebase setup
functions/firebase-config.js - Firestore
Other components
- Tracker user
Connections 12
- Tracker user → Tracker pages: opens
README.md - Tracker pages → Calendar tracker: loads script
- Tracker user → Dashboard page: views
README.md - Dashboard page → Progress dashboard: loads script
- Calendar tracker → Express API: requests data
script.js - Progress dashboard → Express API: requests data
- Express API → API handlers: routes requests
functions/firestore-app.js - Node server → Express API: creates app
server.js - Firebase endpoint → Express API: exposes app
functions/index.js - Express API → Firebase setup: initializes
functions/firestore-app.js - API handlers → Firestore: reads and writes
functions/firestore-app.js - Firebase setup → Firestore: provides access
functions/firebase-config.js