Skip to content

Sync OWASP Awards data and integrate with user profiles #1766

@arkid15r

Description

@arkid15r

Is your feature request related to a problem? Please describe.

We want to import and manage OWASP Awards data within Nest based on the canonical source at https://github.com/OWASP/owasp.github.io/blob/main/_data/awards.yml

Describe the solution you'd like

  1. Create a new model in the owasp Django app that aligns with the structure of the awards YAML file.

The model should include at least the following fields:

category: CharField (e.g. "WASPY", "Lifetime Achievement")
name: CharField (unique)
description: TextField
year: IntegerField
user: ForeignKey to User (optional, award recipient)
created_at, updated_at: standard timestamp fields
  1. Implement award sync command

Create a new management command similar to owasp_update_events.py that:

- Downloads and parses awards.yml from the owasp.github.io repository
- Creates or updates award records in the database
- Attempts to match recipients with existing users by name or GitHub username
- Log warnings for unmatched users, and make the command idempotent.
  1. Integrate with badges job

Once the sync is in place, the daily badge job will need to be updated to:

- Assign a "WASPY Award Winner" badge to users who have received any WASPY award (based on the Award model)
- Ensure the badge is removed if the award is no longer associated with the user

Are you going to work on implementing this?

  • Yes
  • No

Additional context

Depends on Badge implementation completion.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions