Skip to content

feat: workshop form, admin dashboard, Tailwind migration & new features - #1

Open
techymualim wants to merge 4 commits into
claude/clean-architecture-setup-lXtEdfrom
claude/update-workshop-form-Fsb5M
Open

feat: workshop form, admin dashboard, Tailwind migration & new features#1
techymualim wants to merge 4 commits into
claude/clean-architecture-setup-lXtEdfrom
claude/update-workshop-form-Fsb5M

Conversation

@techymualim

Copy link
Copy Markdown
Collaborator

Summary

Major update covering workshop registration form improvements, admin dashboard enhancements, UI migration to Tailwind CSS, and several new backend/frontend features.

Workshop Form

  • Removed slider component
  • Separate LinkedIn (mandatory) and GitHub (optional) fields
  • Phone number regex validation (supports formats like +92 300 1234567)
  • Added Gender field (Male, Female, Non-Binary, Prefer not to say)
  • Added "What defines you best" field (Student, Young Professional, Intermediate Expert, Senior Expert, Freelancer, Other)
  • Registration now defaults to pending status (not confirmed)

Admin Dashboard - Registration Management

  • Search/filter by CNIC, Email, Name, Status, Phone Number, "Defines you best"
  • Status flow: pending → shortlisted (email + QR ticket) → attended (QR scan)
  • Rejection flow: pending → rejected (rejection email sent)
  • QR code generated on shortlist with participant name, email, phone, CNIC
  • QR Scanner page with camera support + manual input, shows participant info popup
  • Pagination on Users, Registrations, and Workshops tables

Email System

  • Pending registration confirmation email
  • Shortlisted email with QR code ticket and event details
  • Attended confirmation email on check-in
  • Rejection notification email
  • Batch email sending (100 emails per batch)

New Modules

  • Users CRUD module (add/update/delete system admin users) - frontend + backend
  • QR Scan admin page for scanning participant tickets
  • Swagger UI at /api/docs for API documentation

Infrastructure

  • Rate limiting (30 req/min via @nestjs/throttler)
  • CORS policy with allowed methods/headers
  • Tailwind CSS migration - entire frontend UI migrated from vanilla CSS to Tailwind

Test plan

  • Register for a workshop and verify pending status + pending email
  • Admin shortlists a registration → verify shortlisted email with QR code
  • Scan QR code on admin QR Scan page → verify participant info popup
  • Mark as attended from QR scan → verify attended email
  • Reject a registration → verify rejection email
  • Test search/filter on registrations (by CNIC, email, name, status, phone, profile type)
  • Test pagination on registrations, workshops, and users tables
  • Create/update/delete admin users in Users module
  • Verify phone number regex rejects invalid formats
  • Verify LinkedIn field is mandatory, GitHub is optional
  • Verify Swagger UI loads at /api/docs
  • Verify rate limiting blocks excessive requests
  • Test CSV export with new fields (gender, defines_you_best, separate github/linkedin)

https://claude.ai/code/session_019HaZFm7kRZ75LduVPF4qrA

claude and others added 4 commits March 25, 2026 18:51
…d new features

Workshop Form:
- Remove slider, add separate LinkedIn (mandatory) and GitHub (optional) fields
- Add phone number regex validation
- Add Gender field (Male, Female, Non-Binary, Prefer not to say)
- Add "What defines you best" field (Student, Young Professional, etc.)
- Registration status defaults to "pending" instead of "confirmed"

Admin Dashboard - Registration Management:
- Search/filter by CNIC, Email, Name, Status, Phone, "Defines you best"
- Status flow: pending -> shortlisted (triggers email with QR ticket) -> attended (on QR scan)
- Rejection flow: pending -> rejected (triggers rejection email)
- QR code generated on shortlist with participant name, email, phone, CNIC
- QR Scanner page with camera support and manual input, shows participant info popup
- Pagination on Users, Registrations, and Workshops tables

Email System:
- Pending registration confirmation email
- Shortlisted email with QR code ticket and event details
- Attended confirmation email on check-in
- Rejection notification email
- Batch email sending (100 emails per batch)

New Modules:
- Users CRUD module (add/update/delete system admin users)
- QR Scan admin page for scanning participant tickets
- Swagger UI at /api/docs for API documentation

Infrastructure:
- Rate limiting (30 requests/minute via @nestjs/throttler)
- Proper CORS policy with allowed methods/headers
- Migrated entire frontend UI from CSS to Tailwind CSS

https://claude.ai/code/session_019HaZFm7kRZ75LduVPF4qrA
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.

3 participants