Skip to content

nohabean/Recipe-Calculator-Converter

Repository files navigation

Recipe Calculator and Converter

This project was created as the portfolio project for CS361 (Software Engineering I) at Oregon State University. The project is a Recipe Calculator and Converter desktop application. It is written in python and uses PySide6 and PyQT 5 for the UI. The app utilizes microservice architecture. Users input values into the UI and then the client-side request is sent to the server in order to receive back the desired data (the response). This client/server interaction is handled using ZeroMQ. The development of the project followed a typical Agile development cycle with a focus on fulfilling user stories and inclusivity heuristics.

Languages Used

  • Python

Technologies, Libraries, and IDEs Used

  • ZeroMQ for client/server communications for microservices
  • PySide 6 for UI
  • PyQT 5 integrated with PySide for UI
  • PyCharm

Setup

  1. Clone the Git repo and navigate to the directory

    https://github.com/nohabean/Recipe-Calculator-Converter.git
    cd ./path/to/Recipe-Calculator-Converter
    
  2. Install Dependencies

    • Python 3.11+

      pip install -r requirements.txt
      
  3. Run the client, server, and UI in separate terminals, starting with the server.

    • Terminal 1: Run tcp_server.py

      python tcp_server.py
      
    • Terminal 2: Run tcp_client.py

      python tcp_client.py
      
    • Terminal 3: Run UI.py

      python UI.py
      

Conversions

The Conversions tab takes user input to convert measurements for each entered value. Users can add multiple entries, delete an entry, delete all entries, clear all current inputs in the entries, and export the entries and results.

To use this, the user should input a valid value for the quantity to convert, select the input units, and then select the desired output units. Once all entries are filled, click the Calculate button to see the output result(s) of the conversion(s). If a required field is missing or if the input is not valid, the user will be notified.

Conversions screen

Recipe Calculator

The Recipe Calculator tab takes user input to change quantities for recipe values to change serving sizes. Similarly to the Conversions tab, users can add multiple entries, delete an entry, delete all entries, clear all current inputs in the entries, and export the entries and results.

To use this, the user should input the name of the recipe component, the quantity/value of that component, the measurement unit, choose to increase or decrease the value, and then input the value to multiply or divide the recipe quantity by. Once all entries are filled, click the Calculate button to see the output result(s) of the conversion(s). If a required field is missing or if the input is not valid, the user will be notified.

Recipe Calculator screen

About

A python desktop application where users can convert recipe unit measurements and increase or decrease recipe serving sizes. Uses microservice architecture and ZeroMQ to send client requests and get responses from the server.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages