Skip to content

MinYuOuO/SE-Assignment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SE-Assignment

Raffles University BAI21113 Software Engineering Assignment work

📌 Project Description

This project is a BMI (Body Mass Index) calculator built using Python and Tkinter. It provides users with an easy-to-use interface to input their weight and height and calculates their BMI. The result categorizes the user's BMI into underweight, normal, overweight, or obesity.

🚀 Features

  • User-friendly graphical interface using Tkinter.
  • Real-time BMI calculation based on user input.
  • Clear BMI categorization (Underweight, Normal, Overweight, Obesity).

🔧 Installation

  1. Clone the repository:
  1. Install used library
  • pip install tk
  1. Run the application:
  • python Main.py

📖 Iteration Report

Iteration 1: Basic BMI Calculation

  • Implemented the core function BMI_Cal(weight, height), which calculates BMI and categorizes the result.
  • Created a simple Tkinter GUI for user input and display of results.

Iteration 2: Error Handling & UI Enhancement

  • Added error handling for invalid inputs and zero height.
  • Improved result text styling for better readability.
  • Implemented input validation to ensure numerical values.

Iteration 3: Modularization & Code Optimization

  • Moved BMI calculation logic to a separate function (Function.py) to improve modularity.
  • Enhanced UI responsiveness.
  • Ensured proper layout and alignment of GUI components.

Iteration 4 & 5: Updated README Documentation

  • fix iteration 3,4 wrong commit
  • update correct documentation

Iteration 6: Updated Main Function

  • fix invalid calculation that set with wrong height

🌱 Branching and Merging Strategy

We used a structured branching approach:

  • main: Main interface of the project.
  • feature/ui-enhancements: Added UI improvements and styling updates.
  • feature/error-handling: Introduced better error handling.
  • Merging was performed via pull requests to ensure code reviews before integrating changes into the main branch.

📌 Kanban Board

  • Backlog: Record the information and improve task organization.
  • To Do: Listed upcoming tasks such as feature development and bug fixes.
  • In Progress: Tracked ongoing tasks.
  • Done: Marked finished tasks.
  • Iteration: Show iteration made.

🔗 Link to Kanban Board

Kanban Board

🤝 Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

💡 Acknowledgments

Special thanks to all contributors and testers for making this project better!

About

Raffles University BAI21113 Software Engineering Assignment work

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages