You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Employee recognition and rewards platform -- peer-to-peer kudos, points, badges, catalog redemption, team challenges, and celebrations.
EMP Rewards is the employee recognition and rewards module of the EmpCloud HRMS ecosystem. It provides peer-to-peer kudos with reactions and comments, a configurable points economy, badge achievements, a redeemable reward catalog, leaderboards, manager nominations, celebration feeds (birthdays, anniversaries), team challenges, automated milestone rewards, budget management, Slack and Microsoft Teams integrations, push notifications, and a manager recognition dashboard with engagement scoring.
Send kudos to colleagues with message, category, points, public/private visibility. Reactions and comments on public kudos.
Points System
Earn points for giving/receiving kudos, milestones, challenge wins. Configurable point values per org. Full ledger of all point transactions.
Badges & Achievements
Milestone badges (tenure, kudos count, top performer), custom org-defined badges. Auto-award on threshold triggers.
Reward Catalog
Redeemable rewards (gift cards, extra PTO, swag, experiences) with point-based pricing and stock management.
Redemption & Fulfillment
Employees redeem points for catalog rewards. Approval workflow with fulfillment tracking.
Leaderboard
Top recognized employees by period (weekly/monthly/quarterly). Department leaderboards and personal rank tracking. Cached and refreshed hourly.
Manager Nominations
Create nomination programs (Employee of the Month, etc.). Managers nominate employees; admins review and award.
Celebrations Feed
Auto-detect birthdays and work anniversaries from EMP Cloud. Combined social feed with kudos and celebrations. Send wishes.
Team Challenges
Time-bound competitions with rules, progress tracking, and auto-award for winners. Individual or team participation.
Automated Milestone Rewards
Define milestone rules (e.g., 1-year anniversary, 100 kudos received). System auto-triggers badges and point awards on threshold.
Budget Management
Set recognition budgets per manager or department. Track spend vs. allocation. Prevent over-budget recognition.
Slack Integration
Incoming webhook notifications for kudos and badges. /kudos slash command support. Per-org configuration.
Microsoft Teams Integration
Webhook notifications for kudos, celebrations, and milestones. Configurable per-org with test webhook support.
Push Notifications
Web push via VAPID keys. Subscribe/unsubscribe endpoints. Real-time alerts for kudos, badges, and celebrations.
Manager Recognition Dashboard
Team engagement score, department comparison, AI-powered recognition recommendations.
Analytics
Recognition trends, most recognized values, department participation, budget utilization, top recognizers.
Integration API
/integration/user/:userId/summary endpoint for EMP Performance module to fetch recognition data.
API Documentation
Swagger UI at /api/docs with full OpenAPI 3.0 spec.
Tech Stack
Layer
Technology
Runtime
Node.js 20
Backend
Express 5, TypeScript
Frontend
React 19, Vite 6, TypeScript
Styling
Tailwind CSS, Radix UI
Database
MySQL 8 via Knex.js (emp_rewards database)
Cache / Queue
Redis 7, BullMQ
Auth
OAuth2/OIDC via EMP Cloud (RS256 JWT verification)
Integrations
Slack Webhooks & Slash Commands, Microsoft Teams Webhooks, Web Push (VAPID)
Monorepo
pnpm workspaces (3 packages)
Quick Start
Prerequisites
Node.js 20+
pnpm 9+
MySQL 8+
Redis 7+
EMP Cloud running (for authentication)
Install
git clone https://github.com/EmpCloud/emp-rewards.git
cd emp-rewards
pnpm install
Environment Setup
cp .env.example .env
# Edit .env with your database credentials, Redis URL, and EMP Cloud URL
Docker
docker-compose up -d
Development
# Run all packages concurrently
pnpm dev
# Run individually
pnpm --filter @emp-rewards/server dev # Server on :4600
pnpm --filter @emp-rewards/client dev # Client on :5180# Run migrations
pnpm --filter @emp-rewards/server migrate