Pranathi 2k26 Registration App
Web App•Completed
Project Details
Overview
A full-stack Django web application for managing Pranathi 2k26 - the annual cultural fest of Jyothy Institute of Technology. The platform handles 500+ participant registrations, team formations, Razorpay payment integration, QR-based check-in, and comprehensive admin management through Django admin.
The Problem
- —Manual paper-based registration process for a 2-day college event with 500+ participants across 30+ events
- —Complex team event management requiring dynamic team sizes (2- member depending on event type)
- —No automated payment verification - manual bank transfer reconciliation was time-consuming
- —Schedule conflicts when multiple team members registered for overlapping events
- —Slow check-in process without digital attendance system
- —Difficulty in bulk communication with registered participants
Approach
- —Database Design: Created normalized Django models with foreign key relationships (User -> Registration -> Event -> Category), implementing state machine for registration status (pending_verification -> pending_payment -> confirmed)
- —Payment Integration: Integrated Razorpay API with order creation, webhook handlers with HMAC SHA256 signature verification, and automatic retry logic for failed payments
- —QR System: Built QR code generation using qrcode library linked to unique registration IDs, implemented barcode scanning for instant check-in with real-time attendance dashboard
- —Admin Features: Extended Django admin with custom list_filters, search_fields, inline scheduling, date-based exports via pandas, and bulk email campaign functionality
- —Frontend: Developed responsive mobile-first UI with Tailwind CSS, implemented GSAP scroll-triggered animations with CustomEase, created glassmorphism navigation with mesh gradient backgrounds
Technical Stack
| Layer | Technology |
|---|---|
| Backend | Django 4.2, Python 3.11 |
| ORM | Django ORM with SQLite3 (dev), PostgreSQL 15 (prod) |
| Frontend | HTML5, Tailwind CSS 3.x, JavaScript ES6+, GSAP 3.12 |
| Payments | Razorpay API v2 (orders, payments, webhooks) |
| QR Codes | qrcode library, Html5-Qrcode scanner |
| Deployment | Gunicorn, Nginx, Ubuntu 22.04 LTS VPS |
What I learned
- —Designing and implementing normalized database models with Django ORM, including custom User model with USN validation
- —Payment gateway integration with proper security (webhook signature verification, idempotency handling)
- —Creating QR code generation and barcode scanning systems for event check-in
- —Building responsive layouts with Tailwind CSS utility classes
- —Creating complex GSAP animation timelines with ScrollTrigger and CustomEase
- —Deploying Django applications to production VPS with Nginx as reverse proxy and Gunicorn workers
- —Managing PostgreSQL databases - migrations, backups, restoration from production dumps
- —Environment-based configuration management using python-decouple
- —Extending Django admin with custom ModelAdmin classes for better UX





