Skip to content

urritomas/KusinApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

62 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿณ 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages