AOSSIE-Org / AOSSIE-Org/DebateAI

[REFACT]: Implement Modular Class Structure for User Data and Integration

Open
#90 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
84
Forks
198
Avg merge
2d 19h
Merged PRs (30d)
30

Description

## Refactor: Implement Modular Class Structure for User Data and Integration

### 📝 Description
Refactor the system to use distinct classes for different user-related data, mapping relationships between them with IDs. Integrate these classes seamlessly with leaderboards and profiles. Provide separate functions to fetch and manipulate different data aspects for better modularity and maintainability.

---

### ✅ Features to Include

- Create separate classes for:
- User Profile (basic info, socials, bio, password)
- Elo Rating History (time series data for elo changes)
- Match Stats (wins, losses, draws, scores)
- Achievements and Badges
- Debate History (individual debates with opponents and outcomes)
- Map relationships between classes using unique IDs (e.g., userId, matchId)
- Integrate these classes with:
- Leaderboard system (fetch and update user rankings)
- Profile pages (display comprehensive user info and stats)
- Develop distinct functions/APIs for:
- Fetching user profile data
- Retrieving elo rating trends
- Getting match statistics summary
- Listing recent debates
- Loading user achievements
- Ensure separation of concerns to improve code readability and extensibility
- Optimize data fetching for performance (e.g., lazy loading, pagination)
- Write unit tests for class methods and API endpoints

---

### 👨‍💻 Assigned to: @kishansinghifs1

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.