The scenario
The new Minister of Health is determined to revolutionize the approach
to public health. Recognizing the importance of preventive measures, the
minister has proposed and initiated the implementation of a groundbreaking
web app, aimed at promoting healthier choices among the population.
In a move to empower citizens and encourage a health-conscious
lifestyle, the Health Ministry has commissioned the development of a web app
that provides health ratings for various products available in the market. The
app not only offers information about nutritional values, but also evaluates the
overall health impact of each product.
The web app features a collaborative section where users can actively
contribute to the database by adding details of the products they encounter.
Users can input information such as brand, product name, EAN code, weight,
nutritional facts, and price. This crowdsourced approach ensures a
comprehensive and up-to-date database that reflects the diverse array of
products in the market.
The collaborative section also allows users to share their experiences and
opinions on the healthiness of different products. Through this interactive
platform, individuals can exchange insights, recommendations, and success
stories regarding their journey towards a healthier lifestyle.
One of the app's innovative features is its ability to calculate a product's
health rating based on user reviews and nutritional information. Users can
upvote or downvote products, influencing the overall rating and creating a
dynamic ranking system. This not only empowers consumers to make
informed choices but also fosters a sense of community engagement in
promoting healthier living.
To further promote a balanced and healthy diet, the app analyses the
nutritional content of the products in the user's basket. It suggests additional
items that could complement the existing selection, creating a well-rounded
and nutritious shopping list. These suggestions take into account dietary
preferences and allergens provided by the user, ensuring that the
recommendations align with individual health needs and restrictions.
Users have the option to input their dietary preferences and allergens in
their profile settings, enabling the app to tailor its suggestions accordingly. This
customization ensures that users receive relevant recommendations that align
with their specific health goals and requirements.
To maintain the accuracy and reliability of the collaborative database, the
app includes an administrative section. Submissions made by users are
carefully reviewed for accuracy by the administrative team. However, to
streamline the process and enhance efficiency, the app employs an auto-
validation system for repeated submissions of the same product with identical
nutritional values. If three or more users input the same product details, the
system automatically validates the information, ensuring that accurate and
consistent data is readily available to the user community.
For the base product information, the app leverages the Open Food
Facts database API, ensuring a robust and comprehensive foundation for
nutritional data. This integration enhances the accuracy and completeness of
the collaborative database, providing users with reliable information for
making informed and healthy choices.
The Health Ministry believes that by harnessing the power of technology
and community collaboration, they can instigate a positive shift towards
healthier consumer habits. The app is expected to be a valuable tool in
promoting transparency in the food industry, encouraging responsible
consumption, and ultimately contributing to the well-being of the population
on a long-term basis.
Technical requirements for this platform are:
1. User Registration and Profile (5 points)
● Users can create accounts with unique usernames and passwords. (1
point)
● Profile settings include options to input dietary preferences and
allergens. (1 point)
● Users can update and customize their profiles at any time. (1 point)
● The app stores user data securely and complies with data protection
regulations. (2 points)
2. Product Submission and Collaboration (7 points)
● Users can add product details, including brand, product name, weight,
nutritional facts, and price. (2 points)
● Submission form ensures data completeness and accuracy. (1 point)
● Collaborative section allows users to share experiences and opinions on
products. (2 points)
● Users can edit or delete their own submissions until approved. (2 points)
3. Health Rating and Ranking System (6 points)
● App calculates health ratings based on user reviews and nutritional
information. (2 points)
● Users can upvote or downvote products to influence the overall rating.
(2 points)
● Dynamic ranking system updates in real-time based on user feedback.
(1 point)
● Clear visual representation of product ratings. (1 point)
4. Nutritional Analysis and Recommendations (4 points)
● App analyzes nutritional content in the user's basket. (1 point)
● Provides personalized suggestions for complementary items. (2 points)
● Takes into account user's dietary preferences and allergens. (1 point)
5. Administrative Section (3 points)
● An administrative dashboard for reviewing user submissions. (1 point)
● Auto-validation system for repeated submissions with identical
nutritional values. (1 point)
● Ensure data accuracy and consistency. (1 point)
6. Integration with Open Food Facts API (2 points)
● Utilizes the Open Food Facts database API for base product information.
(1 point)
● Ensures accuracy and completeness of nutritional data. (1 point)
7. User Engagement and Community Features (3 points)
● Interactive platform for users to exchange insights, recommendations,
and success stories. (1 point)
● Notifications for users to engage with community discussions. (1 point)
● Community guidelines to promote positive and constructive
interactions. (1 point)
8. Security and Data Privacy (5 points)
● SSL encryption for secure data transmission. (2 point)
● Strict data access controls to protect user information. (3 points)
Bonus
For any set of extra features, the team will receive a bonus score of up to
25 points. In case two teams have a very close score, the team with the most
points obtained from the above requirements will qualify.
The source code must be consistently updated in a public GitHub
repository. Additionally, participants must prepare a presentation video of at
least 3 minutes, which will be added either to the repository or on YouTube.
For questions, announcements, or new information from sponsors and
mentors, join the FIICode 2024 Discord server (https://discord.gg/Tkx8V4M3zB)
using the code received upon registration.