feat: implement community events, inventory, battle pass, and account management (#451, #452, #453, #454) - #456
Merged
Conversation
…events-inventory-battlepass-account feat: implement community events, inventory, battle pass, and account management (MindFlowInteractive#451, MindFlowInteractive#452, MindFlowInteractive#453, MindFlowInteractive#454)
|
@dDevAhmed Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
10 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Implements Community Events with scheduling, milestones, leaderboards, and rewards (#451); Player Inventory and item management with category limits and item sorting/filtering (#452); Seasonal Battle Pass with progression tiers, dual free/premium tracks, and retroactive reward claims (#453); and Account Progression Reset with backup snapshots, token confirmation safety delay, account linking, and audit logging (#454).
Why?
closes: #451
closes: #452
closes: #453
closes: #454
Type of change
How was it tested?
Comprehensive unit test suites were implemented covering all four feature modules:
src/community-events/community-events.service.spec.ts: Tests event creation, scheduled lifecycle transitions, contribution tracking, milestone unlocking, leaderboard ranking, and reward claiming.src/inventory/inventory.service.spec.ts: Tests item addition, automated stack management, max inventory slot limits enforcement, item removal/consumption, equipping, sorting, and filtering.src/battle-pass/battle-pass.service.spec.ts: Tests season management, XP progression, automated tier advancement, dual-track (free/premium) reward claims, retroactive unlocks on premium pass purchase, and season analytics.src/account/account-management.service.spec.ts: Tests progression reset requests with pre-reset backup snapshots, 5-minute cooldown safety token confirmation, reset cancellation, external account linking/unlinking, and audit trail logging.Checklist
npm run lintpassesnpm run format:checkpasses (runnpm run formatif not)npm run typecheckpassesnpm testpassesCONTRIBUTING.mdScreenshots / Logs
All 4 modules designed with complete TypeORM entities, DTOs with
class-validator/ Swagger OpenAPI metadata, service business logic with cron scheduling, and controllers:CommunityEventsModule:@Cronlifecycle management, milestone evaluation, participation verificationInventoryModule: Category slot limits, auto-stacking, item filtering/sortingBattlePassModule: Dual free/premium reward tracks, retroactive reward distributionAccountModule: Tokenized progression resets, snapshot recovery, provider linking, audit loggingRisk & rollout
Low risk; all features are implemented as modular entities, services, and endpoints (
/community-events,/inventory,/battle-pass, and new sub-routes on/account), without modifying or breaking existing database schema or endpoints.