Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

CW-073 · Foreign workers' documents expire without anyone being told

Open
#78 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
50/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
react, typescript
Domain
backend, frontend

Research direction

Start with the passportExpiresOn and workPermitExpiresOn fields on the employee in backend/src/modules/employees/, then find how notifications are sent in backend/src/modules/notifications/. The list UI belongs in web/src/features/employees/. Done means a work permit expiring in 29 days appears on the HR list and triggers one notification per window, renewal clears it, and no document number appears in either output.

Written by the indexing model from the issue text.

Description

P1

Priority P1 · Area employees · notifications · Estimate S–M · after Pilot A

Split from CW-068 (#71), whose Pilot A half is done in d89dd40: an employee now carries passportExpiresOn and workPermitExpiresOn, entered on the employee page or by the import, and the page marks a date that has already passed. Nothing looks at those dates ahead of time, and a work permit that lapses unnoticed carries heavy penalties for the employer.

Scope

  • A list for HR of passports and work permits expiring within 30, 60 and 90 days, and already expired, for active employees they can see. The list shows dates and names, never the document numbers.
  • A notification to HR as each window opens for a document: once per window, not daily. Renewing the document (a later expiry date) clears it, and the next expiry starts its own windows.
  • An employee who has left is not listed and not notified.

Acceptance

  • A work permit expiring in 29 days appears on the list, and HR is notified once, not daily.
  • Renewing that permit removes it from the list, and no further notification is sent for the old date.
  • The list and the notification never contain a passport or work permit number.

Files backend/src/modules/employees/, backend/src/modules/notifications/, web/src/features/employees/


Tracked in docs/backlog.md.

Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
2d 16h
Merged PRs (30d)
6

Getting set up

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.

More from SuruchBoss/Cwork

All issues in SuruchBoss/Cwork

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.