Skip to content

[Feature] Implement New users Django App #6

@karastoyanov

Description

@karastoyanov

✨ Feature Description

Develop a new Django app named users inside the Skill Forge Django monolith to manage all user-related functionality. This app will replace the existing Flask microservice architecture currently hosted externally and will centralize user data, profile management, progress tracking, and achievements within the main backend.

🧩 Problem Statement

The current users microservice introduces fragmentation in user data handling, profile access, and progress tracking. It complicates authentication flows, increases latency for profile-related operations, and makes it harder to maintain consistency across the platform. Consolidating this logic into the main Django backend will improve performance, simplify development, and enhance integration with other features like quests and achievements.

💡 Proposed Solution

• Scaffold a new Django app called users within the Skill Forge backend.
• Migrate models, serializers, views, and business logic from the users microservice.
• Implement endpoints for:
⁠◦ Viewing and editing user profiles (including avatar uploads)
⁠◦ Viewing other users’ public profiles
⁠◦ Tracking user progress across quests and achievements
⁠◦ Managing user achievements and milestone logic
• Integrate with existing authentication and permission systems.
• Ensure avatar uploads are handled securely
• Write comprehensive unit and integration tests.
• Deprecate the users microservice once feature parity is achieved.

🔗 Related Issues / Links

If applicable, link to related issues, PRs, or documentation.

📋 Additional Context

  • N.A.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions