mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
120 lines
5.3 KiB
JavaScript
120 lines
5.3 KiB
JavaScript
/***********************************************************************************************************************************************************************
|
|
* File Name: achievements.data.js
|
|
* Type of Program: Data
|
|
* Description: Static registry of all available achievements (badges and milestones).
|
|
* Add a new achievement here — no other code changes needed.
|
|
*
|
|
* Available keys:
|
|
* Badge:
|
|
* early_access — registered before Dec 31, 2026
|
|
* premium_first_time — first premium tier purchase
|
|
* exclusive_first_time — first exclusive tier purchase
|
|
* Milestone:
|
|
* first_course_completed — completed first course
|
|
* courses_completed_5 — completed 5 courses
|
|
* courses_completed_10 — completed 10 courses
|
|
* perfect_quiz_score — perfect score on a quiz
|
|
* profile_completed — filled out full profile
|
|
* first_referral — referred a user
|
|
*
|
|
* Author: Kenneth Obsequio (@lash0000)
|
|
* Date Created: Jun. 19, 2026
|
|
***********************************************************************************************************************************************************************/
|
|
'use strict';
|
|
|
|
// ─── Early Access cutoff ──────────────────────────────────────────────────────
|
|
|
|
const EARLY_ACCESS_CUTOFF = new Date('2026-12-31T23:59:59Z');
|
|
|
|
// ─── Achievement Registry ─────────────────────────────────────────────────────
|
|
// To add a new achievement — add an entry here. No other code changes needed.
|
|
//
|
|
// trigger categories (for documentation only, not enforced):
|
|
// auth — registration / login events
|
|
// tier — subscription purchase events
|
|
// course — course / lesson / quiz events
|
|
// profile — profile completion events
|
|
// social — referral / community events
|
|
|
|
const ACHIEVEMENT_REGISTRY = {
|
|
|
|
// ── Auth ───────────────────────────────────────────────────────────────────
|
|
early_access: {
|
|
key: 'early_access',
|
|
type: 'badge',
|
|
label: 'Early Access',
|
|
description: 'Registered during the Philproperties beta period (before Dec 31, 2026).',
|
|
trigger: 'auth',
|
|
},
|
|
|
|
// ── Tier ───────────────────────────────────────────────────────────────────
|
|
premium_first_time: {
|
|
key: 'premium_first_time',
|
|
type: 'badge',
|
|
label: 'Premium Member',
|
|
description: 'Purchased a Premium tier plan for the first time.',
|
|
trigger: 'tier',
|
|
},
|
|
exclusive_first_time: {
|
|
key: 'exclusive_first_time',
|
|
type: 'badge',
|
|
label: 'Exclusive Member',
|
|
description: 'Purchased an Exclusive tier plan for the first time.',
|
|
trigger: 'tier',
|
|
},
|
|
|
|
// ── Course ─────────────────────────────────────────────────────────────────
|
|
first_course_completed: {
|
|
key: 'first_course_completed',
|
|
type: 'milestone',
|
|
label: 'First Course Completed',
|
|
description: 'Completed your very first course on Philproperties.',
|
|
trigger: 'course',
|
|
},
|
|
courses_completed_5: {
|
|
key: 'courses_completed_5',
|
|
type: 'milestone',
|
|
label: 'Learning Streak',
|
|
description: 'Completed 5 courses.',
|
|
trigger: 'course',
|
|
},
|
|
courses_completed_10: {
|
|
key: 'courses_completed_10',
|
|
type: 'milestone',
|
|
label: 'Knowledge Builder',
|
|
description: 'Completed 10 courses.',
|
|
trigger: 'course',
|
|
},
|
|
perfect_quiz_score: {
|
|
key: 'perfect_quiz_score',
|
|
type: 'milestone',
|
|
label: 'Perfect Score',
|
|
description: 'Achieved a perfect score on a quiz.',
|
|
trigger: 'course',
|
|
},
|
|
|
|
// ── Profile ────────────────────────────────────────────────────────────────
|
|
profile_completed: {
|
|
key: 'profile_completed',
|
|
type: 'milestone',
|
|
label: 'Profile Complete',
|
|
description: 'Filled out all personal profile information.',
|
|
trigger: 'profile',
|
|
},
|
|
|
|
// ── Social ─────────────────────────────────────────────────────────────────
|
|
first_referral: {
|
|
key: 'first_referral',
|
|
type: 'milestone',
|
|
label: 'Referral Champion',
|
|
description: 'Successfully referred a user to Philproperties.',
|
|
trigger: 'social',
|
|
},
|
|
|
|
};
|
|
|
|
module.exports = {
|
|
EARLY_ACCESS_CUTOFF,
|
|
ACHIEVEMENT_REGISTRY,
|
|
};
|