To keep the tech savvy youth of India engaged during the current pandemic, IndianFolk.com in collaboration with Metdine.in is organizing a coding contest titled ‘Code2Dine’.
Background of Organizing Firms
IndianFolk.com is an online platform for opinion, analysis and commentary on current events. The company caters to interests of youth and millennials, who provide most of its content. IndianFolk.com became operational in 2016 and currently has over 30 lakh followers on social media.
Metdine.in is an online marketplace for peer to peer food ordering and consumption. Our platform enables users to create special or normal recipes, create menus, prepare food, and deliver food. Upon registration on our platform, a user can start buying food from other users. The user can become a seller too and sell food to other users. In light of the Covid-19 pandemic, our platform enables consumer-to-consumer transactions on food, thereby reducing the need to go to restaurants and fast-food chains. All our transactions can take place without an in-person dialogue, thus supporting the need for social distancing during the current environment.
There shall be top three prizes in this contest along with ten consolation prizes as provided below.
*All the winners including consolation prize winners will receive certificates. In addition, all winners will receive copies of the following books published by IndianFolk.com recently: ‘Gandhi & Lincoln – Nations, Beginnings & the Concept of Liberty’ and ‘Covid-19 Times – Opinions of Millennials’.
**Should any internship or job opportunities arise at either IndianFolk.com or Metdine.in, the winners of this competition will be given the first priority during hiring process.
Note: The closing time for each of the due-dates mentioned above is 11:59 PM.
The contest is open to anybody in the age group 13-24 years. Candidate’s age must be determined as of May 1, 2020. Thus, candidates born after May 1, 2007 and born before May 2, 1995 will not be eligible to participate in this contest.
All candidates must register on the website indianfolk.com/newregister to participate in the contest. After registration on the website, candidates must send an email to [email protected] with the subject line “Registration for Code2Dine” and provide name, address & phone in the body of the email. This completes the registration process.
Candidates who register on or before August 9, 2020 need not pay entry fee (early bird registration). If a candidate registers after this date, he/she must pay a nominal entry fee of Rs.99 at the following link after registration and login:
There shall be three coding challenges in the contest as provided in the next section. Participants may choose anyone of the challenges and come up with a solution in the form of following deliverables and artifacts.
– Demo video (5-10 minutes) as a shared/downloadable file. At your discretion, you may also send the URL to the hosted location that clearly demonstrates the functionality.
-Document (maximum five pages) that describes your approach, how your solution addresses the problem, and any unique features of your solution.
-Access to the code repository (either GitHub or Bitbucket) must be given to [email protected]. Code will be used only for application review and testing.
-Deployment and testing instructions (maximum five pages).
All the deliverables and artifacts mentioned above must be submitted via email to: [email protected]. You will receive a confirmation within four hours of your submission.
1) Geo Location
Ruchi is a business consultant traveling to Delhi for few days on work. She has dietary restrictions as the doctor suggests her not to eat outside food. It is important for her to stay healthy to be able to handle her work and family. If she falls sick her whole family will be affected.
She needs to be able to find a homemade meal for herself within ‘x’ Km from her current location. We need to help order her food by detecting her location and provide her with the list of options available to her at that location. Once she selects and places an order for herself, she should be able to get a notification on her phone for the order when it is picked up including the time it will take for the order to be delivered.
She also at times should be able to order her lunch to the offsite business location while she is on her way to that place by manually setting the location.
As a part of this coding challenge, contestants will need to design a responsive web application with Geolocation feature enabled. The geolocation feature should include the following capabilities:
-Discover current user real-time location with their consent
-Given a location and radius as the inputs and points of interest (could be restaurants) return the list of points of interest within that radius.
-Detect user movement and react to the change with notifications (For instance: trigger a notification when the user has started and estimated time of arrival to the destination, when he/she is within proximity of ‘x’ Km and when he/she has reached the destination)
Raj is an investment banker who lives In Mumbai with his spouse. One day he remembers late in the night that next day is his spouse’s birthday. He wants to order a personalized cake from a home baker to surprise her. It’s too late and cannot call anyone at that point, he can only chat to discuss about his spouse’s likes and preferences with the home baker to get a nice personalized cake for her as he wants to keep it a surprise for his spouse and also doesn’t want to cause inconvenience to the home baker. Could you help design a natural language chat bot that can help Raj pick a flavourful and beautiful cake for his spouse?
As a part of this coding challenge, contestants are required to design and develop a chatbot, that’s integrated with food order and delivery management web application, can discern the intent of what Raj is saying and provide responses to inquiries and requests in natural language and assist in fulfilling the request and providing personalized experience. Contests for this challenge are required to:
-Design the conversation flow for food delivery web application
-Identify two or more use cases leveraging the bot functionality that would increase customer engagement and driving value to the customer.
-Develop a chat bot widget that can be integrated and launched from a web application, start the conversation with the customer and then provide functionality of the use cases that you have opted for with the provided responses being in natural language.
3) Data Masking
Galaxy Wars is a laser tag and virtual reality arena and entertainment company that provides fun, entertaining and adventurous activities for the entire family. For making reservations, they used an online registration application to collect personal identifiable information (PII) like name, email, address, phone numbers and signatures and then was stored in backend data repository for later use and retrieval.
One of the Galaxy Wars employee Dark Knight, who was a developer responsible for maintenance and upgrade of the application, was fired one day for performance reasons. He was disgruntled and took all the customer information and shared it with galaxy wars competition. Galaxy Wars customers became aware of the situation and sued the company.
Galaxy Wars had to pay hefty fines and compensation for handling the data breach. The company, which was once doing great business and bustling with people all the time, is now closed. Protecting the data from imminent threats both from inside and external sources is critical, as the consequences of data breach are extremely devastating.
Data masking is one of the many data security strategies that Galaxy Wars should have embraced to safeguard the data from external and internal threats like Dark Knight.
As a part of this challenge, contestants are required to implement a solution that would illustrate data masking techniques. Below are more details around the requirements and expectations that need to be met for this solution.
-Connect to a database table, get schema, select the data elements that will need to be masked
-Utilize at least 2 different masking techniques and at a should cover commonly used data types for instance: number, string, date, email, etc.
-Support SQL Server, MySQL, PostgreSQL databases
-Masking operation should retain the data relationships at the row level, table level and between the tables as well.
-Solution built should be simple, intuitive, configurable, repeatable that can be quickly applied to any data source.
Do you expect the participant to use any programming language at his/her discretion to accomplish the task(s)? If not, please clarify.
Participants are free to use technology stack of their choice. We are providing Metdine’s current technology stack below, however, we are open to other options. Programming language does not impact the final outcome or result when evaluating the solutions.
-Client-Side (Frontend): Angular
-Server-Side (Backend): Python (Programming Language), Django (Framework), Nginx (Web Server) and PostgreSQL (Database)
-Cloud Infrastructure and Services: Google Cloud
Can a team of two or more candidates participate and submit a single solution?
Yes, that’s fine and we will treat that as one entry. However, the team size shouldn’t exceed three.
Can a participate candidate (or a team of participating candidates) submit more than one solution to each challenge?
Yes, that’s fine if you believe you can come up with more than one optimal solution for a challenge. This would also increase your chances of winning if the proposed solutions are different.
Can a participate candidate (or a team of participating candidates) choose more than one challenge and submit solutions accordingly?
Yes, that’s fine if you believe you have the bandwidth to work on more than one challenge. This would also increase your chances of winning.
Why did you put an upper age limit of 24 years for participating candidates?
This contest is primarily meant for school students, college-goers, recent grads and job starters who are the most affected youth due to the pandemic. If we don’t put a cap on upper age limit, experienced working professionals might have an unfair advantage over younger participants. Based on our assessment of the talent in the country, we figured an upper age limit of 24 years is reasonable for this contest.
There is a lower age limit of 13 years for participating candidates? Are you strictly not allowing candidates younger than 13 years of age to participate?
Most kids become moderately good at programming at 13 years of age, which is why we put this lower age limit. However, candidates younger than 13 years may participate as well if they would like.
How are you going to validate that a participant’s submission is genuinely his/her submission, and was not done with the assistance of his/her relative, friend or affiliate who is an expert at computer programming?
Participating candidates must ensure propriety during this contest. While it is not very uncommon to take some high-level advice or guidance during such competitions, all participants must ensure that they develop solutions themselves and not ‘Copy & Paste’ from other experienced programmers or Internet sources.
What are the evaluation criteria for solutions?
All solutions will be evaluated based on creativity, effectiveness, and ease of implementation.
Do the candidates need to follow any specific standard (or style) while writing the documents required under deliverables?
We are not proposing any specific standard (or style) for writing. We are aware there are different standards in writing, and candidates may choose the standards they are comfortable with. The evaluation criteria mentioned above does not include adherence to a specific standard or style.
Can siblings or members of the same family participate and submit different solutions?
Yes, siblings or members of the same family may participate with their individual registrations and submit their solutions.
Can candidates outside India, NRIs, PIOs, OCIs, internationals or non-Indian citizens participate in this competition?
Yes, anyone can participate in this competition as long as they meet age requirements mentioned in this document. However, the entry fee must be paid in Indian Rupees or US Dollars only as the website doesn’t accept other currencies.
After registration and payment of entry fee, can a candidate ask for the refund of entry fee and not participate in the contest?
We recommend all candidates to be very sure about participating in the contest before they pay the entry fee. Due to the costs involved on our end in managing the registrations, payments, and evaluations, we can’t refund the entry fee whether you submit the solution or not.
Can the candidates submit previously submitted (similar) solutions for other competitions, websites, mobile apps or blogs?
You cannot submit a solution (even if it is an effective solution) that was previously submitted for another competition, website, mobile app or blog. However, if you had submitted a solution after January 1, 2020 for the purpose of a test/examination specific to your school, college or institution, you may submit such solution (after making any relevant changes) assuming it wasn’t published on any other competition, website, mobile app or blog.
Who should we contact if we have further questions?
It is best if you send us an email to [email protected]. We are also available of phone +91 91826 48329 during 10 AM – 10 PM (IST) Monday-Saturday.