/*********************************************************************************************************************************************************************** * 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, };