Simple service used for the leave-tracker.topcoder.com app that staff and contractors use to set their leave dates during the year.
Use Node.js 26.5.0 and pnpm 11.15.1. Run nvm use in this project before running pnpm commands.
- Set the DATABASE_URL and run the app using
pnpm start:dev
- Monthly reminder email: runs at 00:00 UTC on the last day of each month.
- Daily Slack summary: runs at 00:00 UTC every weekday (Mon-Fri).
Required:
DATABASE_URLBUS_API_URL(orBUSAPI_URL) for the Topcoder Bus API endpoint.IDENTITY_API_URL(base URL for Identity API, e.g.https://api.topcoder-dev.com/v6).SENDGRID_LEAVE_REMINDER_TEMPLATE_ID(Sendgrid template for monthly reminders).M2M_AUTH_URL,M2M_AUTH_AUDIENCE,M2M_AUTH_CLIENT_ID,M2M_AUTH_CLIENT_SECRET(M2M credentials withread:rolesscope).
Optional:
M2M_AUTH_PROXY_SERVER_URLIDENTITY_ROLE_MEMBER_PAGE_SIZE(default 200)LEAVE_REMINDER_MONTH_OFFSET(default 1 to target next month)LEAVE_REMINDER_TO_EMAIL(defaultno-reply@topcoder.com; used as visibleTowhile staff recipients are sent via BCC)SLACK_BOT_KEY,SLACK_CHANNEL_ID(Slack notifications)ENV_NAME(Slack prefix label; prefix suppressed whenENV_NAMEisPROD/PRODUCTION, or whenNODE_ENVis production andENV_NAMEis unset)