impact-space / impact-space/app

Implement "Challenges" for Organizations and Organization Members

Open
#8 0 comments 0 reactions 1 assignee Claimed by @beriniwlew View on GitHub
enhancement
Dominant language
C#
Stars
15
Forks
2
PR merge metrics
No merged PRs in 30d

Description

**Description:**

In Milestone 1, we want to develop the "Challenges" feature to represent issues that organizations address and issues that organization members actively work towards resolving. This will help organizations and members showcase their focus areas and create a better understanding of their goals and values.

**Requirements:**

- [x] 1. Create a Challenge model with the following attributes:

- Id (Guid)
- Name (String) (required, max length: 54)

- [x] 2. Create a many-to-many relationship between Challenge and Organization using an intermediary table

OrganizationChallenge with the following attributes:

- OrganizationId (Guid)
- Organization (Organization)
- ChallengeId (Guid)
- Challenge (Challenge)

- [x] 3. Create a many-to-many relationship between Challenge and OrganizationMember using an intermediary table OrganizationMemberChallenge with the following attributes:

- OrganizationMemberId (Guid)
- OrganizationMember (OrganizationMember)
- ChallengeId (Guid)
- Challenge (Challenge)

- [x] 4. Develop Host Challenge Management

- [ ] 5. Develop a UI for organizations to:

- Add, edit, and remove challenges associated with their organization
- View challenges associated with their organization

- [ ] 6. Develop a UI for organization members to:

- Add, edit, and remove challenges associated with their profile
- View challenges associated with their profile

- [ ] 7. Implement backend logic to handle CRUD operations for challenges.

**Acceptance Criteria:**

- Challenge model is created with the required attributes.
- Many-to-many relationships are established between Challenge and Organization, and Challenge and OrganizationMember.
- Organizations can add, edit, and remove challenges associated with their organization.
- Organization members can add, edit, and remove challenges associated with their profile.
- Backend logic handles CRUD operations for challenges.

**Notes:**

Please ensure that the UI design is consistent with the overall application design.
Make sure to properly handle user permissions when allowing access to challenges.
Don't forget to write tests to verify the implemented functionality.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.