AJP Report
AJP Report
AJP Report
Certificate
This is to certify that Mr. /Ms./Mrs.
Enrollment No: of Semester of Diploma in Computer
Engineering at Anjuman I Islam’s Abdul Razzak Kalsekar Polytechnic, has
completed the Micro Project satisfactorily in Subject in
the academic year 2024-2025 as per the MSBTE prescribed curriculum of I
Scheme.
Head of
Institute
Annexure – I
Micro-Project Proposal
BMI Calculator
1.0 Aims/Benefits of the Micro-Project:
The BMI Calculator Application provides users with an interactive and educational platform
to monitor their health and fitness. By offering a user-friendly interface, it allows users to
calculate their Body Mass Index (BMI), understand their weight category (underweight,
normal, overweight, or obese), and track their BMI history. The project emphasizes the
importance of health awareness while integrating practical applications of Java programming
and database management concepts. Through its engaging features, the application not only
fosters technical skill development but also encourages users to maintain a healthy lifestyle.
Overall, this tool serves as an effective blend of education and wellness promotion in a
seamless and interactive manner.
2.0 Course Outcomes Addressed:
a. Develop programs using GUI Framework (AWT and Swing).
b. Handle events of AWT and Swings components.
c. Develop programs to handle events in Java Programming.
d. Develop programs using Database.
Members
1 Requirement analysis 29-10-2024 30-10-2024 Anas , Yusuf
2 System Design 30-10-2024 30-10-2024 Anas , Yusuf
Micro-Project Proposal
BMI Calculator
Skill Developed:
1. Java
2. Database
3. UI/UX
4. Problem-Solving
5. Project Management
6. Testing
7. Collaboration
Applications:
1. Education
2. Training
3. E-Learning
4. Assessment
5. Gamification
6. Self-Assessment
7. Engagement
Names of Team Members with Enrollment No.:
1. Sayed Ayman 2205690244
2. Khan Anas 2205690263
3. Khan Yusuf 2205690247
ANNEXURE II
…………………………………………………………………………………………………
…………………………………………………………………………………………………
Sr. No Topic
1 Introduction
3 Algorithm
4 Flowchart
5 Code
6 Output
7 Conclusion
8 Reference
1. INTRODUCTION
In today’s fast-paced world, maintaining a healthy lifestyle has become a significant
challenge for many individuals. Monitoring one’s health metrics, such as Body Mass Index
(BMI), plays a crucial role in understanding physical well-being and making informed
decisions about diet and fitness. The BMI Calculator Application aims to address this need
by providing users with an interactive, accurate, and user-friendly tool for calculating their
BMI and categorizing their weight status as underweight, normal, overweight, or obese.
This application is designed with accessibility and practicality in mind. Users can easily
register or log in to access the platform, calculate their BMI, and store the results in a secure
database. The ability to track BMI history allows users to monitor their progress over time,
fostering greater awareness and accountability for their health. By combining technical
accuracy with a simple and intuitive interface, the application caters to a broad audience,
from fitness enthusiasts to individuals embarking on their health journey.
From a technical standpoint, the project leverages Java for application logic, GUI design, and
MySQL for database management. These technologies are chosen for their robustness,
scalability, and reliability, ensuring a seamless user experience. The graphical user interface
(GUI) is built using Java Swing, providing an engaging and visually appealing platform that
guides users through each step of the process, from entering their weight and height to
viewing their BMI history.
The project is not only a functional tool for users but also a valuable learning experience for
developers. It emphasizes the practical application of programming concepts such as event
handling, database connectivity, and modular design. The integration of real-world
functionality, such as secure user authentication and data storage, provides developers with
hands-on experience in building full-stack applications.
In essence, the BMI Calculator Application serves as a bridge between technology and health
awareness. It empowers users to make data-driven decisions about their well-being while
providing developers with a platform to enhance their technical skills. By addressing the dual
objectives of promoting wellness and fostering technical growth, this project exemplifies how
innovative solutions can positively impact individuals and society.
1. Start
2. User Authentication
Input: User credentials (name, email, password).
o If entered, Add the name, username and password to the Database
Check if the user exists in the database.
o If yes, allow access.
o If no, prompt for registration.
3. Display Main Menu
Options:
o Calculate BMI
o BMI History
4. User Chooses Option
If Calculate BMI:
o Input: User enters Weight and Height.
o Output: Users BMI value is displayed with his/her category as
(underweight, normal, overweight or obese)
If BMI History:
o Display the list of all BMI calculated previously by the user.
5. End
4. FLOWCHART
5. CODE
Database Connection:
import java.sql.*;
import java.sql.DriverManager;
import java.sql.SQLException;
// Title label
JLabel labelTitle = new JLabel("Login");
labelTitle.setFont(new Font("Ebrima", Font.BOLD, 32));
gbc.gridx = 1;
gbc.gridy = 0;
add(labelTitle, gbc);
// Email field
gbc.gridy++;
gbc.gridx = 0;
JLabel labelEmail = new JLabel("Email");
add(labelEmail, gbc);
gbc.gridx = 1;
JTextField textEmail = new JTextField(20);
add(textEmail, gbc);
// Password field
gbc.gridy++;
gbc.gridx = 0;
JLabel labelPassword = new JLabel("Password");
add(labelPassword, gbc);
gbc.gridx = 1;
JPasswordField textPassword = new JPasswordField(20);
add(textPassword, gbc);
// Login button
gbc.gridy++;
gbc.gridx = 1;
JButton btnLogin = new JButton("Login");
add(btnLogin, gbc);
// Title
gbc.gridx = 1;
gbc.gridy = 0;
JLabel labelTitle = new JLabel("Register");
labelTitle.setFont(new Font("Ebrima", Font.BOLD, 32));
add(labelTitle, gbc);
// Name field
gbc.gridy++;
gbc.gridx = 0;
JLabel labelName = new JLabel("Full Name");
add(labelName, gbc);
gbc.gridx = 1;
JTextField textName = new JTextField(20);
add(textName, gbc);
// Email field
gbc.gridy++;
gbc.gridx = 0;
JLabel labelEmail = new JLabel("Email");
add(labelEmail, gbc);
gbc.gridx = 1;
JTextField textEmail = new JTextField(20);
add(textEmail, gbc);
// Password field
gbc.gridy++;
gbc.gridx = 0;
JLabel labelPassword = new JLabel("Password");
add(labelPassword, gbc);
gbc.gridx = 1;
JPasswordField textPassword = new JPasswordField(20);
add(textPassword, gbc);
// Register button
gbc.gridy++;
gbc.gridx = 1;
JButton btnRegister = new JButton("Register");
add(btnRegister, gbc);
setTitle("BMI Calculator");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new GridBagLayout());
gbc.gridx = 0;
gbc.gridy = 0;
add(new JLabel("Weight (kg):"), gbc);
gbc.gridx = 1;
JTextField textWeight = new JTextField(20);
add(textWeight, gbc);
gbc.gridy++;
gbc.gridx = 0;
add(new JLabel("Height (m):"), gbc);
gbc.gridx = 1;
JTextField textHeight = new JTextField(20);
add(textHeight, gbc);
gbc.gridy++;
gbc.gridx = 0;
gbc.gridwidth = 2;
JLabel resultLabel = new JLabel("Your BMI will be shown here");
add(resultLabel, gbc);
gbc.gridy++;
JButton btnCalculate = new JButton("Calculate BMI");
add(btnCalculate, gbc);
gbc.gridy++;
JButton btnHistory = new JButton("View History");
add(btnHistory, gbc);
btnCalculate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
double weight = Double.parseDouble(textWeight.getText());
double height = Double.parseDouble(textHeight.getText());
double bmi = weight / (height * height);
String bmiCategory;
btnHistory.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new HistoryPage(userId).setVisible(true);
}
});
setVisible(true);
}
}
BMI History Page:
import javax.swing.*;
import java.awt.*;
import java.util.List;
setVisible(true);
}
}
6. OUTPUT
Fig: Values that are transferred into the Database after login
7. CONCLUSION
The BMI Calculator Application is a comprehensive and interactive tool designed to promote
health awareness and empower users to take charge of their well-being. It provides an easy-
to-use platform where users can calculate their Body Mass Index (BMI), categorize their
health status (underweight, normal, overweight, or obese), and maintain a record of their BMI
history for future reference. This functionality not only makes it a practical tool for tracking
health but also encourages users to adopt healthier lifestyles by providing meaningful insights
into their physical health.
The project emphasizes simplicity and reliability, integrating a user-friendly interface with
accurate BMI calculation algorithms. The use of a robust database ensures that user data is
securely stored and efficiently managed, enabling seamless retrieval of BMI history whenever
needed. This feature adds depth to the application, allowing users to monitor their progress
over time and fostering a sense of accountability toward their health goals.
From a technical perspective, this project highlights the effective implementation of Java for
application logic and MySQL for database management. It demonstrates key programming
concepts such as GUI design with Java Swing, event handling, and secure database
connectivity. The project also reinforces best practices in software development, including
modular design, efficient coding techniques, and user-centric application building.
Furthermore, the BMI Calculator Application serves as an excellent educational tool for
developers, providing hands-on experience in creating real-world applications. It bridges the
gap between theoretical knowledge and practical application, fostering skills in problem-
solving, critical thinking, and system design.
In conclusion, this project achieves a dual purpose: promoting individual health awareness
and serving as a learning platform for developers to enhance their technical expertise. The
BMI Calculator Application is not just a utility for users but also a testament to the power of
technology in addressing everyday challenges. It stands as an example of how innovation,
when applied thoughtfully, can create meaningful impacts in both personal health and
professional growth.
8. REFERENCE
https://chat.openai.com/
https://www.javatpoint.com
https://www.slideshare.net/slideshow/literature-bmi-calculator-project-report-
pdf/270146431
www.youtube.com
https://www.geeksforgeeks.org/establishing-jdbc-connection-in-java/
https://www.oracle.com/mysql/technologies/mysql-enterprise-edition-
downloads.html#windows
https://www.oracle.com/in/database/technologies/appdev/jdbc-
downloads.html