๐ณ KusinApp
A Smart Recipe Management System for Sustainable Filipino Cooking
๐ Overview
KusinApp is a desktop-based application developed to assist users in managing personal recipes while promoting sustainable cooking practices. The system allows users to register, log in, create, edit, and delete their own recipes. It aims to help individuals plan healthier meals, reduce food waste, and preserve Filipino culinary culture. The app also demonstrates how various programming paradigmsโObject-Oriented, Imperative, Functional, and Logicโcan be integrated within a single software system.
โ๏ธ Features
๐ค User Authentication โ Secure registration and login functionality.
๐ฝ๏ธ Personal Recipe Management โ Add, view, and delete personal recipes stored in a MySQL database.
๐ Search and Filter โ Quickly find recipes by title or keyword.
๐ง AI Integration (Optional) โ Provides intelligent suggestions for recipes or ingredients.
๐พ Persistent Storage โ Recipes are stored and retrieved through a MySQL database connection.
๐จ User-Friendly Interface โ Built with Windows Forms for simplicity and accessibility.
๐งฉ Programming Paradigms Object-Oriented Programming (OOP)
The application is structured using classes such as LoginPage, PersonalRecipe, SQLHelper, and MainPage, each encapsulating related data and methods. This modularity allows for better maintainability, reusability, and scalability. By employing encapsulation and object interaction, the system models real-world entities like users and recipes through class objects.
๐งฎ Imperative Programming
KusinApp employs an imperative approach by defining clear, step-by-step instructions for the computer to follow. For example, connecting to the database, executing SQL queries, and displaying the results on the user interface all follow explicit control flow commands. Each function specifies the exact order of operations, reflecting the traditional procedural style of programming.
๐ง Functional Programming
While KusinApp is primarily object-oriented, it also makes limited use of functional programming principles. The application employs methods such as .Trim() for data sanitization. These functional elements help make the code cleaner, more efficient, and easier to maintain, even though functional programming is not the dominant paradigm in the project.
โ๏ธ Logic Programming
The logic paradigm is demonstrated through the use of SQL queries, which define what data to retrieve or manipulate instead of how to perform the operation. By writing queries such as SELECT, INSERT, DELETE, and UPDATE, the application declaratively specifies conditions and results, allowing the database management system to determine the execution strategy. This aligns with the declarative nature of logic programming.
๐๏ธ Project Structure KusinApp
โ
โโโ SQLHelper.cs # Handles all database interactions
โโโ aiHelper.cs # Handles all AI usage interactions
โโโ LoginPage.cs # User login and registration interface
โโโ PersonalRecipe.cs # Core form for managing personal recipes
โโโ MainPage.cs # Navigation and app control
โโโ RecipeDisplay.cs # Displays recipe details
โโโ Inventory.cs # Displays ingredient details
โโโ .env # Environment variables (AI API key, DB connection string)
โโโ KusinApp.sln # Visual Studio solution file
โโโ README.md # Project documentation
๐ฉโ๐ป Authors
Developed by:
Basil Ralph A. Birondo
Antonio P. de Jesus
Eric Jhon E. Hefervez
Joshua Benedict D. Lazaro
Josef Dave R. Llorente
Urri Jehan Karlo T. Tomas
Year: 2025
๐งพ License
This project is developed for educational and research purposes. All rights reserved.