Hello, I’m Darshan Jain, a third-year undergraduate student at Sardar Patel Institute of Technology, Mumbai. I recently embarked on an internship journey at Glific, where I had the opportunity to immerse myself in the world of backend development. In this blog post, I’ll take you through the incredible two-month journey that expanded my horizons, challenged me to learn new technologies, and introduced me to a dynamic team of mentors and colleagues.
My internship at Glific began on July 1st and extended until August 31st. The tech stack used was PostgreSQL for the database, GraphQL for APIs, and Elixir as the backend language. Elixir was uncharted territory for me, but with the unwavering guidance of my mentors, I quickly acclimated to this exciting language. My initial tasks involved creating APIs for basic CRUD operations, gradually ramping up in complexity as I gained confidence.
During the internship, I had the opportunity to research on implementing a scalable payment solution for Glific. This challenge pushed my problem-solving skills to the limit and provided me with invaluable insights into financial technologies. The last feature that I was able to contribute was designing and automating HTML emails. I quickly realized that crafting HTML emails differs significantly from creating standard websites. A brief overview of how sending HTML emails works: Setting up various cron jobs to manage emails with different frequencies. These jobs fetched data of corresponding organizations based on specific time ranges. The data was then passed to Contex to render graphs, which were seamlessly integrated into the email templates. Finally, we used Swoosh to send these crafted emails. This intricate process taught me the nuances of email communication in a digital world.
Throughout my internship, daily standup meetings played a crucial role in enhancing my communication skills. Articulating my ideas and progress on a daily basis not only improved my confidence but also fostered effective teamwork. Additionally, the internship provided me with the opportunity to attend the Glific Sprint in Udaipur. Meeting the team in person and collaborating in person was an incredible experience. The Sprint also gave me profound insights into the operations of NGOs, enriching my understanding of the impact our work could have on these organizations (to know more about my sprint experience check out my previous blog). Beyond the technical aspects, my internship at Glific gifted me with lasting friendships.
I would like to express my heartfelt gratitude to my mentors Lobo, Akhilesh, and Md. Shamoon, as well as the entire Glific team, for providing me with such a rewarding experience. I am eagerly looking forward to the positive impact our work will have on NGOs and am enthusiastic about continuing my open-source journey with Glific. The hands-on experience gained during this internship will undoubtedly be an invaluable asset in my future career endeavours. This internship marks a promising start to my professional journey, and I’m excited to see where it leads.
My internship at Glific was a transformative experience that allowed me to grow both professionally and personally. It exposed me to cutting-edge technologies, refined my communication skills, and introduced me to a supportive community of colleagues. I’m immensely grateful for this opportunity and eagerly anticipate the positive change our work will bring to the world of NGOs. This journey has laid a strong foundation for my career, and I’m excited to embrace the future with confidence and enthusiasm.
Milestones achieved during the internship:
- Session Templates and Flows Tags: Updating DB query and updating API
- GSheets: Added autosync and CRON for daily autosync
- Filter Messages based on message types: PR
- Updated API to export organization data in JSON format
- Contact Fields: Bugfixes, Deleting the corresponding data in contacts on deletion and API updates
- Streamlined reporting mail to Gupshup on issues related to templates approval.
- Sending Internal Dashboard mail to organizations periodically.
- Support adding other dashboard links in the internal dashboard.