Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
August 23, 2021 05:38 pm GMT

My first real-world technology project with UNICEF

As a sophomore in computer science engineering, I would often wonder what real-world technology projects looked like, how much experience and knowledge one would require to work on such projects, and what my first internship would entail. Now that I have been working with UNICEF for two months on an open-source web development project, I would like to demystify real-world technology projects for my fellow learners.

In this article, I would like to present a breakdown of my internship journey so far, the types of projects I worked on, the resources I used when I needed help, and provide you a general idea of what to expect from your first technical internship.

Project Description

I was tasked with developing an Eligibility Form consisting of nine questions to help users quickly determine if their digital solution can be nominated as a Digital Public Good (DPG). If the user is eligible, they were to be directed to the submission form. If not, they were to be given pointers on how they could improve their product in order to be eligible.

This was to be conceived in two main phases:

  • Developing a standalone Minimum Viable Product (MVP) using React that provides the following functionality:

    • Introductory Page + one page for each of the nine indicators + Summary Page
    • Record Yes/No answers for each of the nine indicators
    • Provide resources/FAQs/Additional information for each of the indicators.
  • Integrating the web app into the existing public website digitalpublicgoods.net, pre-generating the pages to be served statically

Anyone with some basic knowledge of web development, Git, and GitHub would find this task reasonably easy. So there you go; real-world projects are not always highly complex and time-consuming. In fact, youre likely to spend more time understanding the requirements and objectives, researching different ways to achieve the task, and picking the most efficient one, reviewing and brainstorming ways to improve the project than coding.

Now let me give you a breakdown of how I went about working on this project.

Developing the MVP

In the first week, I spent a lot of time understanding how users will be going about using this app and researching the best practices in creating forms like these. There was already a wireframe to demonstrate how the form was expected to look, but I gave some thought to how I could improve the user experience.

I read up some blogs about creating forms and quizzes using React. I set up the basic structure of the form, keeping the data for questions, answers, and FAQs separate from the logic and other components so that the content could be easily updated. I first styled the page and then went on to add functionality to navigate forward and backward through the questions. Then in the next few days, I coded the logic to store all the responses and display the result in the end. I had completed the basic functionality and styling of the form within the first week.

Integrating into the existing website

In the second week, my task was to integrate the app into the existing website. Since the website was created using four interconnected repositories, it was a little difficult to understand how everything was working. I took my time with understanding the code and asked my mentor for help every time I was stuck.

It took me almost an entire day to set up and run the code on my local machine. The next step was to figure out not only what to include but also, where the new code was to be added. The codebase seemed intimidating at first, but the key is to read it as many times as needed, and after every reading, it will become a little more clear. So after going through it quite a few times, I figured out how the existing code was working and the coding part was relatively easy. I updated the colors and typography to match the style of the website, and this part was also done within a week.

Brainstorming additional features to improve user experience

The next step was to brainstorm ways to improve the user experience. In the next few weeks, I added some additional features to the app such as a progress bar, keyboard shortcuts to help navigate faster and increase accessibility and make the form more responsive.

One of the slightly challenging tasks was to pass the data filled by the users in the eligibility form to the submission form so that the already answered questions could be prefilled and users wouldnt have to answer them again. This required me to save the responses in a local database in the browser so that they could be accessed by the submission form. I was not very familiar with these concepts, so this required me to read up and learn about cookies and databases.

Improving based on user feedback and documentation

After the first version of the form was completed, I requested some of the people in the Communications team to test the form and provide feedback. This was followed by a number of improvements in the content as well as user experience, which included adding an introductory page to help users understand the purpose of the form, and increasing the information density by placing all the components on a card.

After the suggested changes were in place, I requested the team for the second round of feedback. The major change after this round was to update the user task flow for the different types of users who could end up using the app.

Another important task was to add a README file to the repository so that future contributors can easily navigate the codebase.

Conclusion

So this was a peek into my life as an Outreachy intern at UNICEF Office of Innovation. Remote open source internships generally provide a lot of flexibility in terms of working hours, so youre good as long as you get the work done in time. The responsibilities, tasks, and schedules can vary based on the role and the organization, but every organization will have a system in place to help you out whenever you get stuck. Dont be afraid to ask questions and use the opportunity to get to know as many people in the organization as you can, every person will have something interesting to share with you.

Links to the issues and my contributions

I hope this blog helped you in some way. If you have any other questions related to my internship, feel free to drop a comment below.

Best of luck and happy coding!


Original Link: https://dev.to/rachita_saha/my-first-real-world-technology-project-with-unicef-3jof

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To