Skip to content

Add Long Streak Rewards & Achievement System #209

Description

@Muawiya-contact

Description

One Concept currently does not have a proper reward or achievement system for users who maintain long learning streaks.

We should introduce a dedicated Rewards / Achievements section on the user's profile where users can see the rewards they have earned for maintaining long streaks.

The main goal is to make long-term consistency more rewarding and encourage users to keep using One Concept regularly.

Initial Reward Milestones

The first version should focus on long streak achievements.

Example milestones:

  • 🔥 7 Days
  • 🔥 30 Days
  • 🔥 365 Days
  • 🔥 500 Days
  • 🔥 1,000 Days
  • 🔥 5,000 Days
  • 🔥 10,000 Days

These milestones can be adjusted later as the reward system grows.

Reward Design

Each milestone should have its own unique reward/badge design.

For example:

  • 7 days → Candle / small flame
  • 30 days → Improved flame or special badge
  • 365 days → More premium achievement design
  • 500 days → Special badge
  • 1,000 days → Gold-level achievement
  • 5,000 days → Rare achievement
  • 10,000 days → Highest-level achievement with a unique design

The rewards should become visually more special as the streak increases.

The highest-level rewards can use concepts such as a planet, special flame, or other unique visual to represent an exceptional long-term achievement.

The exact designs can be decided during implementation/design.

Profile Achievement Section

Add a dedicated Achievements / Rewards section to the user's profile.

Users should be able to open this section and see all available streak rewards.

Reward States

Each reward should have two main states:

Unlocked

  • Clearly visible
  • Not blurred
  • Clickable
  • Visually highlighted
  • Should feel like a completed achievement

Locked

  • Blurred or visually hidden
  • Not clickable
  • Clearly indicates that the reward has not been achieved yet

This allows users to see what they can achieve next without revealing the reward details too strongly.

Reward Details

When a user clicks an unlocked reward, open a dedicated reward detail view/modal/page.

It should show:

  • Reward/badge
  • Reward name
  • Required streak
  • Short description
  • How the user achieved it
  • Date it was achieved, if available

For example:

365 Day Streak

You maintained your learning streak for 365 consecutive days.

The unlocked reward should have a premium visual effect, such as a gold/glowing/glitter effect, to make the achievement feel valuable.

Future Extensibility

The reward system should be designed so that we can easily add more rewards in the future.

Future rewards may include achievements for things other than streaks, such as:

  • Learning milestones
  • Courses completed
  • Posts created
  • Community contributions
  • Other engagement milestones

We should avoid building the system in a way that only supports the current streak rewards.

The achievement/reward structure should allow new reward types and milestones to be added later without major changes.

Acceptance Criteria

  • Add a dedicated Rewards/Achievements section to the user profile.
  • Add the initial long-streak reward milestones.
  • Each reward has a unique visual/icon/design.
  • Unlocked rewards are clearly visible and clickable.
  • Locked rewards are blurred and not clickable.
  • Clicking an unlocked reward opens its details.
  • Reward details include the milestone and a short explanation of how it was achieved.
  • Unlocked rewards have a premium visual treatment such as gold/glow/glitter.
  • The system supports adding new rewards in the future.
  • Reward progress should be based on the user's actual streak.
  • The UI should work properly on mobile.
  • The implementation should keep the reward system reusable for future achievement types.

Notes

This is the first step toward a complete achievement system.

For this task, focus specifically on long streak rewards. More achievement types and rewards can be added in future issues.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions