-
Notifications
You must be signed in to change notification settings - Fork 31
Pull Request: Finance Education Module Enhancements #32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Pull Request: Finance Education Module Enhancements #32
Conversation
- Implement achievement & progress hooks for global addressing
- Add Education Page with Gamification for sample data - Implement tabs to switch tabs (Learn, Practice, Achievement) feat(Fix): - Fix all critical issues : missing components & unimported files & mismatched routes
Implement api calls for Education Component
TODO: fix it
Fix : Auth Controller
Add custom spinner to load Implement components in Education Hub
@adithya-adee Is this completed ? |
I have completed my part, making the finance education but there are some errors which already existed and things to do for your website. And I have handled errors efficiently TODO:
|
@Community-Programmer , from the above comments : |
@Community-Programmer , can you merge this branch? |
@Community-Programmer
name: 🚀 #ieesoc PR - Add education section
about: Propose changes to improve the project
title: "[FEATURE] Finance Education section"
labels: 'hard' 'frontend' 'backend'
assignees: '@adithya-adee'
Overview
This PR implements a comprehensive enhancement to the Finance Education module, adding gamification features, real-time progress tracking, and improved user engagement through achievements, learning paths, and interactive content.
Changes Summary
Backend Enhancements
Fixed Route Handler Type Issues
Schema Updates
level
: User's current education levelxp
: Experience points accumulatedcurrentRank
: User's current rank title (e.g., "Budget Master")dailyStreak
: Count of consecutive days with learning activitylastActiveDate
: Timestamp of last learning activityNew API Endpoints
BEFORE USING IT MAKE SURE TO APPLY THE CHANGES TO YOUR DATABASE
using
npx prisma db push
followed bynpx prisma generate
Frontend Improvements
Custom Hooks
useUserStats
: Manages user education statistics with real-time updatesuseAchievement
: Handles achievement unlocking and trackinguseProgressPath
: Calculates and tracks learning path completionComponent Updates
EducationHub
: Converted from static mock data to dynamic API-driven contentFeaturedLesson
: Shows personalized lesson recommendationsPracticeList
: Displays interactive flashcard decks from the APIAchievementsList
: Shows unlocked and locked achievementsProgressPath
: Visualizes user progress through learning pathsInteractive Learning
Technical Details
API Endpoints Added/Modified
GET /api/v1/education/stats
: Retrieve user statsPUT /api/v1/education/stats
: Update user statsPOST /api/v1/education/stats/add-xp
: Add XP with level-up detectionGET /api/v1/education/stats/check-streak
: Check and update daily streakGET /api/v1/education/gamification/achievements
: Get user achievementsPOST /api/v1/education/gamification/achievement
: Unlock new achievementType Safety Improvements
Testing Instructions
Education Hub
Learning Paths
Achievements
Practice
CRITICAL: Authentication Issues & Workarounds
Authentication System Limitations
The integration between the frontend authentication flow and the education module endpoints is currently broken. The passport.js authentication middleware, JWT validation, and Google Auth integration fail to properly authenticate users in the Education Hub context.
Testing Methodology
Due to these authentication issues, I've tested the backend functionality using the following approach:
Current State & Workarounds
The good news is that despite authentication issues:
TODO: Quiz Points Implementation
The logic for how quiz points are calculated, incremented, and stored needs to be implemented in the database layer. This should include:
TODO: Database injection with proper icons
The implementation of custom icons and SVG , updation of lesson , quizzes and flashcards. These implementation are meant to be carefully introduced in the database.
Timeline & Resource Constraints
IMPORTANT: Due to personal issues, I will be unavailable for the next 5 days. Given the critical nature of this feature for the upcoming release, I recommend that another team member takes over the implementation of, it might extend:
All the groundwork has been laid out in the current PR, and the custom hooks (particularly
useUserStats.addXp
) are ready to be connected to the quiz completion flow once authentication is fixed.Closes #13