Food waste represents a serious environmental and economic challenge, with
approximately 1.05 billion tons of food discarded globally each year, the
majority occurring in households. This thesis addresses the development of
a comprehensive web application for food management and meal planning
that helps users reduce the amount of wasted food. The system is based
on modern web technologies and enables recording food items in inventory,
tracking expiration dates, searching for recipes based on available ingredients,
meal planning, and automatic generation of shopping lists.
The backend is developed using Node.js and Express.js, utilizing MongoDB database for data storage. A key component of the system is a food
classifier, implemented as a standalone FastAPI server, which uses fuzzy
string matching algorithms and a learning system based on user choices to
ensure accurate food categorization. The classifier combines data from the
OpenFoodFacts taxonomy and user-created categories, with its accuracy improving over time based on user feedback.
The frontend is designed as a Single Page Application (SPA) using the
React library and Tailwind CSS for responsive design. The application supports bidirectional real-time communication via the Socket.IO protocol, enabling synchronization of shopping lists among multiple users within the samehousehold. Integration with the Spoonacular API enables recipe searches tailored to available ingredients in the inventory.
Application testing was conducted in multiple phases, from local testing of individual components to integration testing and testing with actual
users in a production environment. User testing results showed high satisfaction with food recognition accuracy (score 8/10), recipe suggestion accuracy
(8.57/10), and overall user experience (8.86/10). The application is accessible via a secure HTTPS connection, established using Certbot and Let’s
Encrypt certificates.
|