PointTypes - IEEE-Team-3/map GitHub Wiki

Overview

In this system, there are various types of points that can be assigned to users based on task completion, roles, and achievements.

Types of Points

  1. Task Points: Points awarded upon completing a task.
  2. Bonus Points: Additional points that can be awarded by admins for exceptional performance.
  3. Penalty Points: Points deducted for late submissions, incomplete tasks, or violations of team rules.
  4. Achievement Points: Points awarded for achieving specific milestones within the app.
  5. Role-Based Points: Points based on the user’s role or team leadership.

Example Point Allocation

  • Task Points: 10 points for completing a task
  • Bonus Points: 5 points for exceeding expectations on a task
  • Penalty Points: -5 points for late submission
  • Achievement Points: 20 points for completing 10 tasks

Example Schema

const PointSchema = new Schema({
  type: { type: String, enum: ['task', 'bonus', 'penalty', 'achievement', 'role-based'] },
  points: { type: Number, required: true },
  reason: String,
  userId: { type: Schema.Types.ObjectId, ref: 'User' },
  createdAt: { type: Date, default: Date.now }
});
⚠️ **GitHub.com Fallback** ⚠️