Skip to content

Conversation

@ArnavBallinCode
Copy link
Contributor

@ArnavBallinCode ArnavBallinCode commented Nov 20, 2025

Work In progress

Implements #276

@netlify
Copy link

netlify bot commented Nov 20, 2025

Deploy Preview for pyladiescon-portal-docs ready!

Name Link
🔨 Latest commit 7f719d2
🔍 Latest deploy log https://app.netlify.com/projects/pyladiescon-portal-docs/deploys/692d08735808080008c17712
😎 Deploy Preview https://deploy-preview-290--pyladiescon-portal-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@ArnavBallinCode ArnavBallinCode marked this pull request as draft November 28, 2025 15:12
ArnavBallinCode and others added 3 commits November 29, 2025 10:53
- Add AttendeeProfile model to store anonymized demographic data
  - Fields: job_role, job_title, country, region, experience_level, languages, industry, company_size, heard_about
  - Automatically populated from pretix registration data via webhook

- Update webhook handler to create/update AttendeeProfile for paid orders
  - Only creates profiles for completed (paid) registrations
  - Extracts demographic data from pretix answers

- Enhance fetch_pretix_orders management command
  - Syncs attendee profiles alongside orders
  - Provides detailed progress feedback

- Add attendee statistics calculations with caching
  - Breakdown by role, country, region, experience, industry, company size
  - 5-minute cache TTL for performance
  - Integrates with existing stats infrastructure

- Add attendee stats display with Google Charts
  - New templates for stats and charts
  - Horizontal bar charts for demographic breakdowns
  - Integrated into main /stats page

- Add comprehensive test coverage
  - Model tests for AttendeeProfile
  - Webhook tests for profile creation/exclusion
  - Statistics calculation tests
  - 100% code coverage maintained

- Register AttendeeProfile in Django admin
  - List display with key fields
  - Filters and search capabilities
- Fix column header format in arrayToDataTable
- Change from outputting raw Python list to proper JS array format
- Now matches volunteer/sponsorship chart template pattern
Show the demographic as a table to make it simple.
@Mariatta Mariatta force-pushed the feature/attendee-stats-276 branch from efb0d4a to 814c2b2 Compare December 1, 2025 02:54
@Mariatta Mariatta marked this pull request as ready for review December 1, 2025 03:21
Copy link
Member

@Mariatta Mariatta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for starting this. I made some refactoring based on the actual pretix data which I know you don't have access to.
Also I decided to only show two demographic information for now, we can display more later.

@Mariatta Mariatta merged commit 6ca62ae into pyladies:main Dec 1, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants