Professional Documents
Culture Documents
Mad1 Final Report
Mad1 Final Report
Submitted by
TEJAS.P (1RG18CS063)
CERTIFICATE
This is to certify that the MAD Mini Project Report entitled “EMI, INCOME TAX
AND GST CALCULATOR” is a bonafide work carried out by Mr.SOURABH
KALLAPPA BELLANKI (1RG18CS057) & Mr.TEJAS.P(1RG18CS063) in partial
fulfillment for the award of Bachelor of Engineering in Computer Science
Engineering under Visvesvaraya Technological University, Belagavi, during the year
2020-2021. It is certified that all corrections/suggestions given for Internal Assessment
have been incorporated in the report. This Mini Project report has been approved as it
satisfies the academic requirements in respect of seminar work.
1.
2.
VISVESVARAYA TECHNOLOGICAL UNIVERSITY
Jnana Sangama, Belagavi-590018
DECLARATION
I hereby declare that the mini project work entitled “EMI, INCOME TAX AND GST
CALCULATOR” submitted to the Visvesvaraya Technological University, Belagavi during
the academic year 2020-2021, is record of an original work done by us under the guidance of
Mrs. Pushplata Dubey , Assistant Professor, Department of Computer Science and
Engineering, Rajiv Gandhi Institute of Technology, Bengaluru and this project work is
submitted in the partial fulfillment of requirements for the award of the degree of Bachelor of
Engineering in Computer Science & Engineering. The results embodied in this thesis have not
been submitted to any other University or Institute for award of any degree or diploma.
TEJAS.P
(1RG18CS063)
ACKNOWLEDGEMENT
I take this opportunity to express my sincere gratitude and respect to the Rajiv
Gandhi Institute of Technology, Bengaluru for providing me an opportunity to carry
out my project work.
I also extend my thanks to the entire faculty of the Department of CSE, RGIT,
Bengaluru, who have encouraged me throughout the course of Bachelor Degree.
TEJAS.P
(1RG18CS063)
i
ABSTRACT
EMI or equated monthly installment is the fixed payment that is made by the borrower to the
lender. EMIs pay back both the principal and the interest for each month, and the loan is fully repaid within a
specified number of years. Here, the borrower could be you, and the lender could be the bank that has given
you the loan.
An EMI Calculator is a utility tool, which helps to calculate the amount we repay each month
towards our loan. We can use the EMI calculator and calculate the EMI amount on a car loan, home loan, bike
loan, or a personal loan. We get an idea of the monthly repayments we make towards these loan. The EMI
calculator has three sliders in a box with the loan amount, number of months, and the interest rate. After you
fill-up the details using the slider, the EMI calculator shows how much we must pay off each month, to repay
the loan within the duration we have selected.
The income tax calculator is a very useful tool for everyday users. Every one of us needs to
calculate our payable tax each year. This task becomes much more complicated when we have different
sources of income and each has a different rule from the income tax department..
Goods and Services Tax (GST) is an indirect tax that manufactures, wholesales, retailes and
consumers have to pay on consumers goods and services. It is a destination-based and multi-stage tax which is
charged on every value addition. The GST calculator helps to find out either gross or net product price on
percentage-based GST rates. It saves time and reduces chances of human error while computing the total cost
of goods and services.
TABLE OF CONTENTS
Certificate i
Declaration ii
Acknowledgement iii
Abstract iv
1.1.2 DESIGN
2. REQUIREMENT SPECIFICATION
2.1.2ANDROID ARCHITECTURE
5 OUTPUT (SCREENSHOTS)
6 CONCLUSION
BIBLIOGRAPHY
Emi, Tax and Gst calculator 2020-2021
CHAPTER 1
INTRODUCTION
Mobile app development is the act or process by which a mobile app is developed for mobile
devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications
can be pre-installed on phones during manufacturing platforms, or delivered as web applications using server-
side or client-side processing to provide an "application-like" experience within a Web browser. Application
software developers also must consider a long array of screen sizes, hardware specifications, and
configurations because of intense competition in mobile software and changes within each of the
platforms. As part of the development process, mobile user interface (UI) design are also used in the creation
of mobile apps. In addition, it provides a very convenient hardware platform for developers so that they can
spend less effort to realize their ideas. This makes Android can get further development. As the smart phones
and Android system getting popular, the operations like listening to music, watching videos, tweeting and
some others can be moved from the computer to a phone now. The applications on the market today are
mostly commercial applications, and contain a large number of built-in advertising. Sometimes, users will pay
more attention to the user experience of software. Therefore, the development of the application can not only
be limited to the function, more attention should be paid to the user's experience. After studying some
previous Android applications and access to large amounts of materials, we utilize the Java language, the
Eclipse platform, Android ADT and the Android SDK to develop these three mobile applications. These
systems have a nice interface and smooth operation. These Apps won’t steal any personal information, but can
exclude useless information and bring a wonderful user experience.
Formula:
E = (P.r.(1+r)n) / ((1+r)n – 1)
Here,
Explanation : When we provide amount of money i.e, principal, rate of interest, time and this program will
calculate amount of emi.
Emi, Tax and Gst calculator 2020-2021
The income tax calculator is a very useful tool for everyday users. Every one of us needs to calculate our
payable tax each year. This task becomes much more complicated when we have different sources of income
and each has a different rule from the income tax department.
Goods and Services Tax (GST) is an indirect tax that manufactures, wholesales, retailes and consumers have to
pay on consumers goods and services. It is a destination-based and multi- stage tax which is charged on every
value addition. The GST calculator helps to find out either gross or net product price on percentage-based GST
rates. It saves time and reduces chances of human error while computing the total cost of goods and services
.
GST ( Goods and Services Tax ) which is included in net price of product for get GST % first need to calculate
GST Amount by subtract original cost from Net price and then apply
GST % formula = (GST Amount*100) / original cost
Net price = original cost + GST Amount
GST Amount = Net price – original cost
GSTPercentage=(GSTAmount*100)/originalcos
1.1.2 DESIGN
The design of the application plays a critical role in performance and scalability. This system
Emi, Tax and Gst calculator 2020-2021
is intended to be continuously improved by the expansion of system capabilities. The system primarily
consists of three parts: a mobile operation APP working on the Android system to collect information; a data
warehouse for data storage; and an efficient and stable data analysis center running in the backend. The
mobile operation APP is based on the Android system and can support versions 4.0 and higher.
o To write a program that can do various tasks such as EMI, Income Tax and GST calculation.
CHAPTER 2
REQUIREMENT SPECIFICATION
Applications
Application Framework
Android Runtime
Android Libraries
Linux Kernel
Applications
Applications is the top layer of android architecture. The pre-installed applications like home,
contacts, camera, gallery etc and third party applications downloaded from the play store like chat
applications, games etc will be installed on this platform only.It runs within the Android run time with the
help of the classes and services provided by the application framework.
Emi, Tax and Gst calculator 2020-2021
Application Framework
The Application Framework layer provides many higher-level services to applications in the form of Java
classes. Application developers are allowed to make use of these services in their applications. Application
Framework provides several important classes which are used to create an Android application. It provides a
generic abstraction for hardware access and also helps in managing the user interface with application
resources. Generally, it provides the services with the help of which we can create a particular class and make
that class helpful for the Applications creation.
Application runtime
Android Runtime environment is one of the most important part of Android. It contains components
like core libraries and the Dalvik virtual machine(DVM). Mainly, it provides the base for the application
framework and powers our application with the help of the core libraries.
Like Java Virtual Machine (JVM), Dalvik Virtual Machine (DVM) is a register-based virtual
machine and specially designed and optimized for android to ensure that a device can run multiple instances
efficiently. It depends on the layer Linux kernel for threading and low-level memory management. The core
libraries enable us to implement android applications using the standard JAVA or Kotlin programming
languages.
Android Libraries
This category encompasses those Java-based libraries that are specific to Android development.
Examples of libraries in this category include the application framework libraries in addition to those that
facilitate user interface building, graphics drawing and database access. A summary of some key core
Android libraries available to the Android developer is as follows –
Emi, Tax and Gst calculator 2020-2021
android.app − Provides access to the application model and is the cornerstone of all Android
applications.
android.content − Facilitates content access, publishing and messaging between applications and
application components.
android.database − Used to access data published by content providers and includes SQLite database
management classes.
android.os − Provides applications with access to standard operating system services including
messages, system services and inter-process communication.
android.widget − A rich collection of pre-built user interface components such as buttons, labels, list
views, layout managers, radio buttons etc.
Having covered the Java-based core libraries in the Android runtime, it is now time to turn our
attention to the C/C++ based libraries contained in this layer of the Android software stack.
Linux Kernel
Linux Kernel is heart of the android architecture. It manages all the available drivers such as display
drivers, camera drivers, Bluetooth drivers, audio drivers, memory drivers, etc. which are required during the
runtime. The Linux Kernel will provide an abstraction layer between the device hardware and the other
components of android architecture. It is responsible for management of memory, power, devices etc.
Security: The Linux kernel handles the security between the application and the system.
Memory Management: It efficiently handles the memory management thereby providing the freedom
to develop our apps.
Emi, Tax and Gst calculator 2020-2021
Process Management: It manages the process well, allocates resources to processes whenever they
need them.
Network Stack: It effectively handles the network communication.
Driver Model: It ensures that the application works properly on the device and hardware
manufacturers responsible for building their drivers into the Linux build.
Cloud Firestore: The cloud Firestore is a NoSQL document database that provides services like store,
sync, and query through the application on a global scale. It stores data in the form of objects also known
as Documents. It has a key-value pair and can store all kinds of data like, strings, binary data, and even
JSON trees.
Remote Config: The remote configuration service helps in publishing updates to the user immediately.
The changes can range from changing components of the UI to changing the behavior of the applications.
These are often used while publishing seasonal offers and contents to the application components that has
a limited life.
Emi, Tax and Gst Calculator 2020-2021
Hosting: Firebase provides hosting of applications with speed and security. It can be used to host Stati or
Dynamic websites and micro services. It has the capability of hosting an application with a single
command. Firebase has various scalable and agile hosting features for Microservices, web apps, and
several other content types. Content can be hosted across different categories, and users have the ability to
avail SSL protection and single-click rollbacks.
Firebase Cloud Messaging (FCM): The FCM service provides a connection between the server and the
application end users, which can be used to receive and send messages and notifications. These
connections are reliable and battery-efficient.
Realtime Database: Firebase Realtime Database is a cloud-hosted database. It facilitates JSON-based data
storage and performs real-time data synchronization with connected clients. Single instances of the
Realtime Database function as clients during cross-platform application development processes using iOS,
JavaScript, and Android SDKs. It lets applications receive the latest updates and data. Offline applications
are able to remain responsive because the Database SDK carries out on-disk data persistence. It helps to
sync devices to present server states following the restoration of connectivity.
Analytics: Firebase users can utilize the features of Google Analytics, which is integrated with Firebase.
Users can use Analytics for performing unlimited reporting for multiple Firebase SDK events. Developers
can make better decisions by analyzing user behavior with Analytics.
Machine Learning: Firebase is also advantageous as it offers developers the option to rely on
machine learning. Firebase comes with an ML kit with readily-available APIs for different mobile
platforms features like text identification, face detection, image labeling, barcode scanning, and
more.
Monitor Errors: Firebase can monitor both non-fatal and fatal errors, and reports are generated
based on how errors affect users’ experience.
Emi, Tax and Gst calculator 2020-2021
Backups: Firebase ensures optimal security and availability of data with the help of regular
backups. The apps are protected from any possibility of data loss by relying on the automatic
backup feature of this platform.
Focus on frontend development: Developers worldwide prefer Firebase as it lets them focus on
creating frontend code for mobile applications. Firebase reduces the need to develop boilerplate
backend code, pushing back the development completion date for applications. It makes application
development convenient and helps to keep costs low.
Powered by Google: Firebase is powered by Google, one of the most prominent and trusted names
in the world of technology.
x86_64 CPU architecture; 2nd generation Intel Core or newer, or AMD CPU with support for
a Windows Hypervisor
8 GB RAM or more
One of the main tools used in developing android applications, as it packages many core features into
one SDK and it can be used in the application easily. This helps us to avoid writing lot of code, and building
applications faster.
A client, which sends commands. The client runs on your development machine. You can
invoke a client from a command-line terminal by issuing an adbcommand.
A daemon (adbd), which runs commands on a device. The daemon runs as a background process
on each device.
A server, which manages communication between the client and the daemon. The server runs as
a background process on your development machine.
CHAPTER 3
SYSTEM DESIGN
3.1 DESIGN APPROACH
This project is based on the functional design approach, which helps in understanding the design of the
project in a simpler way by explaining its flow, use cases, and implementation more like a modular approach.
For example, there are different modules in this project which have separate functionality and, other sub
functionalities/modules. This module body treats data as nodes connected to each other; however, it allows for
more complex connections, such as many-to-many relationships and cycles. This schema can model the
movement of attributes and entities between locations, or the workflow required to accomplish a particular
task. Furthermore, this is a blueprint for how the outlook is going to be. The design is an abstract structure or
outline that represents the pictorial view of the application as a whole. By defining categories of data and
relationships between those categories design makes data much easier to retrieve, consume, manipulate, and
interpret. The schema design organizes the data into separate entities, determines how to create relationships
between organized entities, and how to apply the constraints on the data. All the modules are designed,
implemented and integrated together to make a flawless working application.
Button: One of the important components in which the application needs. It is mainly associated
with action when the user clicks it. We can represent the button using any text which holds the
action class on it.
List View: This is a key component under the view group which helps in displaying the
information about anything when we click the action button. It also allows us to scroll through the
screen and have a look about the information displayed. Using the list adapter, the content is pulled
from the database.
Toggle Button: This is a user interface control that is used to display ON (Checked) or OFF
(Unchecked) states as a button with a light indicator.
Image View: Displays image resources, for example Bitmap or Drawable resources. Image View
is also commonly used to apply tints to an image and handle image scaling.
Layout - A layout defines the structure for a user interface in your app, such as in an activity. All elements
in the layout are built using a hierarchy of View and View Group objects.
Constraint Layout: This is a View Group which allows you to position and size widgets in a
flexible way.
Relative Layout: This is a view group that displays child views in relative positions. The position
of each view can be specified as relative to sibling elements or in positions relative to the parent
Relative Layout area.
Linear Layout: This is a view group that aligns all children in a single direction, vertically or
horizontally.
Table Layout: This used to arrange the group of views into rows and columns. Table Layout
containers do not display a border line for their columns, rows or cells. A Table will have as many
columns as the row with the most cells.
Emi, Tax and Gst calculator 2020-2021
CHAPTER 4
SYSTEM IMPLEMENTATION
System analysis to construct system elements that meet the stakeholder requirements And system
requirements developments development in the early life cycle phases. These system elements are then
integrated to form intermediate aggregates and finally the complete system of interest (SOI). Implementation
is the process that actually yields the lowest-level system elements in the system hierarchy (system break
down structure). System elements are made, bought or reused. Production involves the hardware fabrication
processes of forming, removing, joining and finishing. The software realization process of coding and testing
or operational procedures development processes for operator roles. If implementation involves a production
process a manufacturing system which uses the established technical and management processes may be
required. The purpose of implementation process is to design and create (or fabricate) a system elements
conforming to that elements design properties or requirements. The element is constructed employing
appropriate technologies and industry practices. The process bridges the system definition processes and the
integration process.
package com.cmt.taxcalculator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class EMIActivity extends AppCompatActivity
{
Button emiCalcBtn;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_emi);
emiCalcBtn = findViewById(R.id.btn_calculate2);
emiCalcBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
String st1 = P.getText().toString();
String st2 = I.getText().toString();
String st3 = Y.getText().toString();
if (TextUtils.isEmpty(st1))
{
P.setError("Enter Principal Amount");
P.requestFocus();
return;
}
if (TextUtils.isEmpty(st2)) {
I.setError("Enter Interest Rate");
I.requestFocus();
return;
}
if (TextUtils.isEmpty(st3)) {
Y.setError("Enter Years");
Y.requestFocus();
return;
}
float p = Float.parseFloat(st1);
float i = Float.parseFloat(st2);
float y = Float.parseFloat(st3);
float D = calDivider(Dvdnt);
float emi = calEmi(FD, D);
float TA = calTa (emi, Months);
float ti = calTotalInt(TA, Principal);
result.setText(String.valueOf(emi));
TI.setText(String.valueOf(ti));
}
});
}
public float calPric(float p) {
return (p);
}
public float calInt(float i) {
return (i/12/100);
}
public float calMonth(float y) {
return (y * 12);
}
public float calDvdnt(float Rate, float Months) {
return (float) (Math.pow(1+Rate, Months));
}
public float calFinalDvdnt(float Principal, float Rate, float Dvdnt) {
return (Principal * Rate * Dvdnt);
}
public float calDivider(float Dvdnt) {
return (Dvdnt-1);
}
public float calEmi(float FD, Float D) {
return (FD/D);
}
public float calTa(float emi, Float Months) {
return (emi*Months);
}
package com.cmt.taxcalculator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
Button emiCalcBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_emi);
emiCalcBtn = findViewById(R.id.btn_calculate2);
emiCalcBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (TextUtils.isEmpty(st2)) {
I.setError("Enter Interest Rate");
I.requestFocus();
return;
}
if (TextUtils.isEmpty(st3)) {
Y.setError("Enter Years");
Y.requestFocus();
return;
}
float p = Float.parseFloat(st1);
float i = Float.parseFloat(st2);
float y = Float.parseFloat(st3);
float D = calDivider(Dvdnt);
result.setText(String.valueOf(emi));
TI.setText(String.valueOf(ti));
}
});
}
public float calPric(float p) {
return (p);
}
Emi, Tax and Gst calculator 2020-2021
return (i/12/100);
return (y * 12);
return (Dvdnt-1);
return (FD/D);
package com.cmt.taxcalculator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
TextView text_total,text_percentage,total_amount,gst_amount;
EditText edit_total,edit_percentage;
Button calculate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gstactivity);
text_total = findViewById(R.id.text_total);
text_percentage = findViewById(R.id.text_percentage);
total_amount = findViewById(R.id.total_amount);
gst_amount = findViewById(R.id.gst_amount);
edit_total = findViewById(R.id.edit_total);
edit_percentage = findViewById(R.id.edit_percentage);
calculate = findViewById(R.id.btn_calculate2);
calculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
package com.cmt.taxcalculator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
TextView text_total,text_percentage,total_amount,gst_amount;
EditText edit_total,edit_percentage;
Button calculate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gstactivity);
text_total = findViewById(R.id.text_total);
text_percentage = findViewById(R.id.text_percentage);
total_amount = findViewById(R.id.total_amount);
gst_amount = findViewById(R.id.gst_amount);
edit_total = findViewById(R.id.edit_total);
edit_percentage = findViewById(R.id.edit_percentage);
calculate = findViewById(R.id.btn_calculate2);
Emi, Tax and Gst calculator 2020-2021
calculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int total = Integer.parseInt(edit_total.getText().toString());
int percentage = Integer.parseInt(edit_percentage.getText().toString());
CHAPTER 5
OUTPUT (SCREENSHOTS)
Emi, Tax and Gst calculator 2020-2021
CHAPTER 6
This calculator is yet another simple device which can be used to calculate EMI , INCOME TAX
and GST. Our calculator is capable of performing operation on the given input number were the inputs are
been given by the user. The user is allowed to enter the desired numbers and the results will be displayed on
screen. The calculator will perform three basic operation emi, tax and gst. the program is constructed by
android studio using Java as programming langauge. In conclusion, calculators are a tremendous tool of
technology that have worth while placing in our education system. In this work we have developed simple
calculator which performs certain activities which is user friendly. Now let us talk about the future
enhancement of our project like making this calculator more interactive and may use deep learning and AI so
Textbooks Referred:
Google Developer Training, "Android Developer Fundamentals Course – Concept Reference”, Google
Developer Training Team, 2017.
Erik Hellman, “Android Programming – Pushing the Limits”, 1st Edition, Wiley India Pvt Ltd, 2014.
Dawn Griffiths and David Griffiths, “Head First Android Development”, 1st Edition, O’Reilly SPD
Publishers, 2015.
J F DiMarzio, “Beginning Android Programming with Android Studio”, 4th Edition, Wiley India Pvt
Ltd, 2016.
Anubhav Pradhan, Anil V Deshpande, “Composing Mobile Apps” using Android, Wiley 2014.
Websites Referred:
https://www.geeksforgeeks.org
https://www.youtube.com
https://stackoverflow.com
https://www.section.io
https://www.codegrepper.com
https://www.tutorialspoint.com