Skip to content

[Feature] Implement quests Django App #5

@karastoyanov

Description

@karastoyanov

✨ Feature Description

Create a new Django app called quests within the Skill Forge Backend monolith to handle all quest-related functionality. This app will replace the existing microservice architecture currently hosted at skill_forge_quests, consolidating backend logic into the main Django project for better maintainability and integration.

🧩 Problem Statement

The current quest system is implemented as a standalone Flask microservice, which introduces complexity in deployment, communication overhead, and fragmented data handling.

💡 Proposed Solution

  • Scaffold a new Django app named quests inside the main Skill Forge backend.
  • Migrate core models, serializers, views, and business logic from the microservice to the new app.
  • Refactor API endpoints to align with Django REST Framework conventions.
  • Integrate quest logic with existing user and progress tracking systems.
  • Ensure compatibility with JWT-based authentication and permission classes.
  • Write unit and integration tests to validate functionality.
  • Deprecate the microservice once parity is achieved.

🔗 Related Issues / Links

  • N.A.

📋 Additional Context

  • The new logic should be completly integrated with Piston API service used to execute user's code.
  • All code executions should be saved in the backend database
  • User progress should be considered(XP points, ranks, levels)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions