Overview
At InternWare, I worked on backend systems powering event registration platforms, authentication services, payment workflows, coupon management, and administrative tooling.
Unlike most personal projects at that time, these systems were used by real users and involved real payment processing. This exposed me to production challenges, security considerations, data consistency, and business requirements that go beyond simply making an application work.
Impact
1. Session Persistence Improvement
Users were getting logged out whenever they refreshed the website and had to log in again.
Implemented cookie-based session management to persist authenticated user sessions across page refreshes.
- Improved user experience.
- Reduced repeated authentication.
- Maintained user sessions across refreshes.
2. Authentication Architecture Improvement
The application was dependent on Firebase for Google Authentication, creating an additional platform dependency in the login flow.
Any breaking change or issue in Firebase could potentially affect authentication.
Implemented Google Authentication directly using Google's OAuth APIs.
- Reduced dependency on Firebase-specific authentication.
- Gained more control over the authentication flow.
This was the first time I implemented Google Authentication directly using Google's APIs, giving me practical exposure to OAuth-based authentication.
3. Payment Architecture Improvement
Payment amount calculation was happening on the frontend.
Frontend values can be manipulated easily, creating a security risk.
Moved amount calculation logic to the backend and used database values instead of trusting client-side input.
- Improved payment security.
- Centralized pricing logic.
- Prevented client-side manipulation of payment amounts.
Registration depended on the frontend calling the registration API after payment success.
A user could successfully complete payment and close the browser before registration happened.
Moved the registration flow to webhook-based confirmation so registration happens after receiving payment confirmation from the payment gateway.
- Reduced cases where users paid but were not registered.
- Improved consistency between payment and registration states.
4. Coupon System
Discount logic was hardcoded. Whenever a new discount was needed, developers had to update the code, creating unnecessary dependency on the engineering team.
Built a coupon management system that allowed administrators to:
- Generate coupons.
- Configure coupon expiry.
- Manage the coupon lifecycle.
- Reduced developer dependency.
- Faster marketing execution.
- Improved operational flexibility.
5. Admin Panel
Built internal administration tooling for:
- Registration management.
- Student management.
- Marketing operations.
- Analytics visibility.
- Role-based access control.
Centralized operational workflows and gave administrators a clearer view of platform activity and management tasks.