Northeastern-Electric-Racing / Northeastern-Electric-Racing/FinishLine

[Change Requests] - Build the work-package deadline endpoint

Open
#4,428 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.