Technologies Used
Name | Description |
---|---|
React | React is a free and open-source front-end JavaScript library for building user interfaces based on UI components. |
TypeScript | TypeScript is an open-source language that builds on JavaScript, one of the world's most used tools, by adding static type definitions. |
Flutter | Flutter is an open-source UI software development kit created by Google. It is used to develop cross-platform applications for Android, iOS, Linux, Mac, Windows, Google Fuchsia, and the web from a single codebase. |
Summary of Work
- My main objective during the internship was to work with the development teams at Sierre Tech on applications that they were building.
- Startrightly - Startrightly is a platform for students that helps them to find mentors, work on projects, develop their business, or connect with employers. My task was to help develop some of the frontend modules for the website. During my internship, I was involved with the development of the Registration flow and the Student dashboard.
- DailyGurus - Dailygurus is an online platform that works on the farm to fork model and helps people in large housing apartments, restaurants, and other businesses to buy fresh farm produce directly from farmers. My task during the internship was to convert the existing Android application into a Flutter-based cross-platform application. During my internship, I was responsible for solely developing the Flutter-based app while working with a backend developer for the DailyGurus API.
Startrightly
While working on the Startrightly platform, I was responsible for developing some of the modules for the Startrightly website. The website was built using Angular and Bootstrap and utilized several technologies such as Redux and MongoDB. I was primarily responsible for developing modules such as the Registration page and implementing new functionality for the Student dashboard page and Project management page.
Challenges I Faced
The Startrightly platform utilized Redux and this concept was completely new for me and was an advanced topic that I had not worked on before. Moreover, I was not familiar with MongoDB and had only worked on Google's Cloud Firestore before.
Overcoming the Challenges
I strongly believe that the best way to learn a new technology or concept related to computer science is to build a small project using that technology or to learn from other projects. To learn how more about Redux and how it works, I saw a few tutorials and built a small project during my free time. This helped me to learn more about Redux in a relatively short time and also gave me more confidence while working on the Startrightly application. I also saw a few videos on MongoDB and read the documentation to learn how to query the database and perform read and write operations.
DailyGurus
My main task while working on the DailyGurus app was to convert the existing Android-based application into a Flutter-based cross-platform app. Additionally, the existing app had a relatively simple design and my task was to improve the design by utilizing Google's Material Design framework.
DailyGurus is a platform that works on the farm to fork model. This meant that I was supposed to implement concepts such as the Login and Registration Flows, OTP verification, and a Razorpay Payment Gateway.
Challenges I Faced
I was quite familiar with implementing Login and Registration Flows but implementing the OTP Verification page and the Razorpay Payment Gateway were the two biggest challenges I faced during the internship.
Overcoming the Challenges
This was the first time that I was implementing OTP Verification in an app and even though I understood the concept quite well, implementing it was a completely different story. However, with the help of the backend development team, I was able to implement the OTP Verification system relatively easily and it gave me a massive boost in confidence.
The Razorpay Payment Gateway was a completely new concept for me and I had to understand how the payment process works before actually implementing it. I was able to understand how the Razorpay payment flow works by reading their well-written documentation and by taking help from a senior developer. By the time I was done implementing the payment system, I had a solid understanding of the Razorpay payment gateway and how to implement it in a Flutter application.
Learnings From the Internship
- One of the most important things that I learned from this internship is how large and highly scalable applications are built. Before this, I had mainly worked on small personal projects and applications that were not built to scale. This experience provided me an insight into how large companies build their applications by splitting work among many developers.
- This internship helped me to improve my communication skills when working in a team of multiple developers and improved my understanding of Git and Agile-based project workflows.
- I was able to learn about advanced concepts such as Redux, MongoDB, Razorpay Payment Gateways and OTP Verification and how to implement them.