karastoyanov / skill_forge

Forge Your Skills
GNU General Public License v3.0
3 stars 0 forks source link

Add Guild Functionality and Dungeons #199

Open karastoyanov opened 1 month ago

karastoyanov commented 1 month ago

As a User,

I want to create or join a Guild,

so that I can collaborate with other users and participate in team-based activities to earn points and level up.

Acceptance Criteria

  1. Guild Creation and Joining

    • Users can create a new Guild by providing a unique name and description. Once the Guild is created, the user becomes Guild Master. If the user decides to leave the Guild, he should points out a new Guild Master
    • Users can search for and request to join existing Guilds.
    • Guild Masters (creators) have the authority to approve or reject join requests.
    • A user can only be a member of one Guild at a time.
  2. Guild Roles and Hierarchy

    • Guild Master: Has full control over the Guild, including inviting/removing members, promoting/demoting members, and editing Guild details.
    • General: Can invite new members and assist with managing the Guild but cannot remove the Guild Master.
    • Member: Basic role with no administrative privileges but can participate in Guild activities.
  3. Guild Levels and Points

    • Guilds have a separate level and point system.
    • Points can be earned by members completing activities such as quests and dungeons.
    • Guilds level up as they accumulate points, unlocking new benefits and features.
  4. Dungeons and Quests

    • Users can form teams within their Guild to participate in Dungeons.
    • Dungeons consist of quests that require collaboration to solve.
    • Completing quests and Dungeons awards XP points and resources to both individual users and their Guild.
    • Dungeons can have varying difficulty levels, offering different rewards based on the level.
  5. User Interface Enhancements

    • A Guild management dashboard for Guild Masters and Generals to manage members and activities.
    • A Guild profile page displaying Guild details, member list, Guild level, and points.
    • A Dungeon interface where users can view available Dungeons, form teams, and track progress.
  6. Notifications and Communication

    • Notifications for Guild-related activities, such as join requests, promotions, and Dungeon invitations.
    • A chat feature or message board for Guild members to communicate and coordinate activities.
  7. Security and Privacy

    • Ensure data privacy and security for all Guild activities and communications.
    • Provide options for users to leave Guilds and manage their membership settings.

Implementation Tasks

  1. Backend Development

    • [x] Set up database models for Guilds, roles, points, and Dungeons.
    • [ ] Implement APIs for creating, joining, and managing Guilds.
    • [ ] Develop algorithms for calculating and updating Guild levels and points.
  2. Frontend Development

    • [ ] Design and implement UI components for Guild creation, management, and Dungeons.
    • [ ] Integrate Guild and Dungeon functionalities into the existing app interface.
    • [ ] Ensure responsive design and user-friendly navigation.

Notes

karastoyanov commented 1 month ago

New branch 199-add-guild-functionality-and-dungeons created for tracking the progress.

All commits for that user story should be commited only to that branch.

karastoyanov commented 1 month ago

Last changes:

382200dc967a6b73ae1d0948eb7a8ba90b60128d eb45083242892b04bc1c5ca94e864bbb43f0e4b3 4e7ad9696e16ef8ed1a07d38e3197d72faec4717 2a3e377ad566df8a5c3784787f1a9a112b56567b a6d191611dc39f292fae42c0df5a41510fc77861

karastoyanov commented 1 month ago

Last changes: a64afde7ccca17c615635381fc01c1ce153c964d 07741c5aa2b0e1a3095fefb1e2ba4d780de58fa1 356b5bb5eec6b8afba8237e6388a6d847e92ff0d 67304e6bfe301df9e305e44ef8d9b6c3e1d282c8

rayapetkova commented 3 weeks ago

Last commit: 760e469

rayapetkova commented 3 weeks ago

Last commit: 31f1b0e

karastoyanov commented 6 days ago

Last changes: