This document contains my contributions to FOSSASIA as part of GSoC 2024 work which is a combination of several components.
Throughout GSoC, I had the opportunity to work extensively with the
Eventyay ecosystem, contributing to core components like the
Eventyay-Tickets platform and its plugins Exhibitors and Badge and the
Open-Event-Checkin system. Each module presented unique challenges and
learning experiences that allowed me to deepen my technical expertise and
positively impact the functionality of the Eventyay platform. I
contributed to backend improvements, designed API endpoints, and modified
the database structure to facilitate more features.
In the Exhibitors Plugin, I developed features to add and manage
exhibitors and support lead scanning for exhibitors, allowing them to
manage leads with an intuitive interface. This included setting up the API
to handle lead creation and retrieval requests and designing the data flow
for handling attendee details securely. I also incorporated custom
authorization methods, making sure only authorized exhibitors could access
specific information, thus enhancing the plugin’s security. For the
Badge Plugin, my work involved creating endpoints to generate
attendee badges and implementing a feature to preview badges and to print
or download them. I developed the backend logic to manage badge
generation, integrated it with PDF generation for easy download, and built
a preview view for the frontend application, which was powered by Vue.js.
This allowed organizers to effortlessly manage badges, further
streamlining the event check-in process. In the
Open-Event-Checkin system, I focused changing the interface and
functionality to integrate it with Eventyay.
One of my primary projects during GSoC was building the
Exhibitor Plugin from scratch. This plugin serves two main
purposes: first, to allow event organizers to create and manage
exhibitors, and second, to provide exhibitors with an integrated lead
scanning functionality. The Exhibitor Plugin streamlines the setup for
exhibitors, enabling them to set up profiles and manage their
participation in events. Additionally, it equips them with lead-scanning
capabilities to engage with attendees by scanning badges, securely
capturing attendee information in real-time.
Starting with the foundational setup, I created models for managing
exhibitor details and set up an API to handle exhibitor creation and
updates, as shown in
PR #1
. In
PR #3
, I added Tests and setup Github Actions to better maintain the code.
Finally, I then extended the plugin to support lead scanning by
implementing secure data flows for attendee data, ensuring exhibitors
could collect lead information and I also incorporated custom
authorization in
PR #4
, adding exhibitor-specific keys to restrict data access, ensuring only
authorized exhibitors could view or manage leads.
The Badge Plugin is designed to streamline badge generation and
management, providing event organizers with an efficient way to create,
customize, and distribute badges to attendees. My work involved building
backend logic for badge generation, integrating PDF generation for badge
downloads, and adding a badge preview feature to simplify the checkin
process for organizers.
In the initial stages, I established the badge layout endpoint to include
a size field to make use of the layouts more conveniently
PR #197
and
PR #221
, making it more flexible for various event types. In
PR #229
, I added five uniquely designed templates for badges giving more options
to the organisers to choose from other than a single default option.
Finally, in
PR #420
, I introduced API's for badge preview and download feature for the
frontend, enabling organizers to view a badge’s layout and details during
checkin.
I contributed to enhancing the Check-In API within the Eventyay-Tickets
platform, aimed at making the event check-in process seamless and
efficient. This new API allows organizers to manage attendee check-ins
with badge-printing functionality. My work on the Check-In API focused on
refining endpoint functionality and optimizing response data.
In
PR #420
, I re-defined a new Check-In API. This included adding a new endpoint for
check-in. I also enhanced error handling within the API, ensuring that the
system could handle revoked and ambiguous tickets. Additionally, I
integrated badge generation at checkin, strengthening the API’s feature.
One of the most impactful projects in my GSoC journey was transforming the
Open-Event-Checkin application, overhauling its workflow to better
integrate with the updated Eventyay system and expand its capabilities.
This transformation introduced a streamlined experience for both
organizers and exhibitors, with an entirely new workflow that provides
check-in and badge generation features for event organizers, while also
supporting exhibitors with lead management tools such as lead scanning,
tagging, note-taking, and lead exporting.
In a single, comprehensive PR—
PR #115
I implemented these significant changes. I restructured the application to
ensure smooth integration with the eventyay platform, focusing on ease of
use by profiling each users with a modified login screen. For exhibitors,
I added functionalities that allow them to scan badges, add personalized
notes, apply tags, and export lead information in a CSV format, giving
them a complete toolset to engage with attendees meaningfully. On the
organizer side, I integrated check-in capabilities and badge printing or
downloading directly into the workflow, making it a one-stop solution for
managing attendee engagement.
This extensive work involved both frontend and backend modifications,
requiring in-depth changes to multiple parts of the application, as shown
in the commit history for
PR #115
, where I introduced new data flows and optimized existing processes to
deliver an application that is intuitive, powerful, and fully aligned with
Eventyay.
I would like to extend my heartfelt gratitude to my mentors, Mario Behling and Hong Quan , for their invaluable guidance and support throughout my GSoC experience. Their expertise and encouragement helped me navigate the challenges of my projects and inspired me to push my boundaries. I also sincerely appreciate the flexibility they provided regarding project timelines and goals, which made these contributions possible.
Participating in GSoC and contributing to FOSSASIA has been an incredibly rewarding experience. I thoroughly enjoyed working on various projects, collaborating with a talented community, and honing my skills in real-world applications. The challenges I faced were invaluable learning opportunities, and I am grateful for the chance to contribute to such impactful open-source initiatives. I look forward to continuing my journey with FOSSASIA and making further contributions that can help enhance our projects and benefit the community.
Srivatsav Auswin - 24 Nov 2024 - Chennai, India