The second wave of corona virus is getting worse in Nepal while I am writing this article. And we have the “Nisedhagya” state in Nepal now. So I have been at home since the start of lockdown. All I would do was checking facebook, instagram, Youtube, watch anime whole day. But on May 4, the YoungInnovations posted internship alert through their facebook page. And I saw that post at evening, checked some details listed on the post.
To be Honest, I had saw the internship alert from YoungInnovations previous year as well. But in 2020, I didn’t take the internship challenge seriously. As far as I can remember, the internship challenge was also same for 2020 as well. I tried to get into the internship challenge ( as in assignments ) to be solved before application in 2020, but i couldn’t even complete the first problem. And I didn’t ask others for help. That’s why I didn’t apply in 2020 as I hadn’t solved the problems.
But, this year ( 2021 ), when I saw the post on their facebook page, I determined that this time I will for sure apply. So, while checking the details of the post, the process was same as previous time. There were internship openings for 4 positions.
Mobile App Development
Front End Programming
UI / UX Design
I choose Backend Programming as I was already familiar with it, and had done some projects related to it.
Next day, as soon as I woke up, I turned on my PC. And started to follow the procedure stated in the github README.md file by YoungInnovations. It listed what to do. I read that file and begin to solve the problem. The problem was
fetch data from the provided api endpoint, store that data in a database and compute “ average sale, minimum sale year and average sale in interval of 2 years”.
At first, it seemed easy problem. But i underestimated it. As i started solving problem, I found out that at first day i was only able to solve the first problem; fetching data from the api endpoint and storing in database. Next day, again woke up and started to solve the remaining tasks. I managed to solve only one task that day, and solved the average sale related task. And at third day, I managed to solve the remaining two questions. I was really happy to solve that task. But I was also not happy for the output I got for the minimum sale by year. The output was quite not exact. And I was already burnout.
Even though, the output was not satisfactory for me, I thought to apply because I was happy to be able to solve the problem. But here’s where things got interesting. There was options to submit the solution either in file format or the web format i.e either the file has to be manually run in the computer. Or already host it to cloud and be able to see in web pages. As I was applying for backend programming which is related to web development server-side programming and I already had some experience in backend programming during Python & Django training course, and other hackathons projects. So I decided, to submit my solution hosting into the cloud and present in webpage. But, I have to mention previous work on the challenge was not a waste.
And yeah, I started a Django project, configured the some internal settings. And started to work on the project.
Making model for database,
registering model in admin,
making migrations and migrating were easy.
And as well as writing the views for the webpage was also not difficult.
As already i had working query in the previous file. Also I was able to make some improvements and learned some new stuffs like creating pipelines, working with .yml files, working with heroku.
I was working on the local development server at first to assure the web app was working correctly. And it was. I was making git commits to the bitbucket, as it was the one of the requirements for the solving challenge. Every thing was working fine. But I got into trouble when deploying to the heroku. I had already done before deploying Django project to the Heroku but this time I got into trouble. The main problem I faced while deploying was I could host the files in cloud but it could not show those files in web in general. The issue was the Heroku Procfile was not being recognized. But some how, after working on it and searching on google and using my common sense, I solved that problem. I managed to deploy the django project and the web app was working fine.
If you would like to get look on the project then click on this link. https://yipl.herokuapp.com/
After able being to deploy successfully, I made more improvisation on the website like UI / UX, file formatting, query counts, pipelines. Actually, my brother also gave some feedbacks to improve the UI / UX of the project. After making these improvements and being satisfied with the final product, I applied to the position using the google forms provided by YoungInnovations. Now I am waiting for their response. I believe the response will be positive.
While I am writing this, I think this experience of solving YoungInnovations challenge made me realized to Not Underestimate the problems and be patient enough to solve the problem. There is always a way. And I have certainly added one project to my portfolio.