Northeastern-Electric-Racing / Northeastern-Electric-Racing/FinishLine
[Change Requests] - Build the work-package deadline endpoint
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 36
- Forks
- 9
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 11
Description
Description
Context
We are adding a daily job that pings teams about work packages near their start or end date. This ticket is the backend of that job: one service method that finds the relevant work packages and sends the Slack messages.
The job needs the work packages that are one day before, on, or one day after their start or end date, and only those that still need action. A start-date ping matters only if the work package hasn't been activated yet (still INACTIVE). An end-date ping matters only if it hasn't been stage-gated (status not COMPLETE). There are six situations total: start date × (day before / day of / day after) and end date × (day before / day of / day after).
Task
Add a sendWorkPackageDeadlineNotifications() endpoint that finds work packages nearing their deadlines and sends the appropriate Slack message for each.
Acceptance Criteria
- Finds INACTIVE WPs whose start date, and not-COMPLETE WPs whose end date (calculateEndDate(startDate, duration)), is yesterday/today/tomorrow
- Each matched WP messages its project team channels, pinging lead + manager, with a link to the WP page; a WP missing a lead/manager still sends without that ping.
- Six short messages (start/end × before/of/after), each clear on which case it is.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the service or endpoint entry point for sendWorkPackageDeadlineNotifications() and the existing work-package and Slack notification flows. Verify the six date cases, status filters, team-channel delivery, optional lead and manager pings, and work-package link; done means each matching work package receives the correct clear message.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100