How kgcorner/schedule-me works
Schedule-me is a job scheduling and monitoring platform with an Angular management UI and a Spring backend. The principal workflow is to create or manage a scheduled job in the UI, persist it through the backend, select due jobs on a schedule, dispatch work to a processor, and inspect job status, logs, and audits. The README also describes implementing custom job kinds and processors. Backend wiring beyond the sampled scanner, executor, service, and repository code is shown only where supported by the documented UI/API workflow; uncertain calls are omitted.
Main entry points: app-routing.module.ts UI routes · JobProcessorExecutorService.java Processor executor · JobProcessorFactory.java Processor factory · JobDao.java Job DAO
Components 23
Management UI
- UI routes
schedule-me-app/src/app/app-routing.module.ts - Job screens
schedule-me-app/src/app/jobs/jobs.component.ts - Dashboard
schedule-me-app/src/app/dashboard/dashboard.component.ts - Audit and log views
schedule-me-app/src/app/job-audits/job-audits.component.ts - Job API client
schedule-me-app/src/app/services/job.service.ts - HTTP transport
schedule-me-app/src/app/services/http.service.ts
Job Management
- Job endpoints
backend/src/main/java/com/dealsdelta/scheduleme/resources/JobResource.java - Job management
backend/src/main/java/com/dealsdelta/scheduleme/services/JobService.java
Scheduling and Execution
- Due-job scanner
backend/src/main/java/com/dealsdelta/scheduleme/services/JobScannerService.java - Processor executor
backend/src/main/java/com/dealsdelta/scheduleme/executors/JobProcessorExecutorService.java - Job runner
backend/src/main/java/com/dealsdelta/scheduleme/executors/JobRunner.java
Persistence and Records
- Job DAO
backend/src/main/java/com/dealsdelta/scheduleme/data/dao/JobDao.java - Running-job DAO
backend/src/main/java/com/dealsdelta/scheduleme/data/dao/RunningJobDao.java - Audit and log services
backend/src/main/java/com/dealsdelta/scheduleme/services/LogService.java - Mongo repository
backend/src/main/java/com/dealsdelta/scheduleme/data/repo/MongoRepository.java - Job records
backend/src/main/java/com/dealsdelta/scheduleme/data/models/JobModel.java - Run records
backend/src/main/java/com/dealsdelta/scheduleme/data/models/RunningJobModel.java - Job audits and logs
backend/src/main/java/com/dealsdelta/scheduleme/data/dao/JobAuditDao.java
Job Processors
- Processor factory
backend/src/main/java/com/dealsdelta/scheduleme/processors/JobProcessorFactory.java - Mail processor
backend/src/main/java/com/dealsdelta/scheduleme/processors/MailJobProcessor.java - Facebook processor
backend/src/main/java/com/dealsdelta/scheduleme/processors/FacebookJobProcessor.java - Instagram processor
backend/src/main/java/com/dealsdelta/scheduleme/processors/InstagramJobProcessor.java
Other components
- Operator
Connections 27
- Operator → UI routes: opens
- UI routes → Job screens: routes to
- UI routes → Dashboard: routes to
- UI routes → Audit and log views: routes to
- Job screens → Job API client: requests jobs
- Dashboard → Job API client: requests metrics
- Audit and log views → Job API client: requests records
- Job API client → HTTP transport: sends requests
- HTTP transport → Job endpoints: HTTP calls
- Job endpoints → Job management: delegates job operations
- Job management → Job DAO: reads and writes
- Due-job scanner → Job DAO: finds and updates due jobs
- Due-job scanner → Running-job DAO: checks and records runs
- Due-job scanner → Processor executor: dispatches work
- Processor executor → Running-job DAO: loads and updates runs
- Processor executor → Processor factory: selects processor
- Processor executor → Job runner: submits runner
- Processor factory → Mail processor: creates
- Processor factory → Facebook processor: creates
- Processor factory → Instagram processor: creates
- Job runner → Job management: uses job service
- Job DAO → Mongo repository: persists through
- Running-job DAO → Mongo repository: persists through
- Audit and log services → Mongo repository: writes logs
- Job DAO → Job records: stores
- Running-job DAO → Run records: stores
- Audit and log views → Job audits and logs: displays audit and log data