0% found this document useful (0 votes)
8 views

Project Report Format Part 1

Uploaded by

Sharad Pandey
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Project Report Format Part 1

Uploaded by

Sharad Pandey
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

PROJECT:

CURRENCY CONVERTER

PROJECT REPORT

Submitted by:
ASMIT : 23BCS10697
ARJUN : 23BCS10684
ANIKET: 23BCS10720

in partial fulfillment for the award of the degree of

BACHELOR OF ENGINEERING

IN

COMPUTER SCIENCE & ENGINEERING

Chandigarh University
TABLE OF CONTENTS

List of Figures .........................................................................................................

CHAPTER 1. INTRODUCTION .........................................................................


1.1. Introduction to Project ................................................................................5

1.2. Identification of Problem ............................................................................6

CHAPTER 2. BACKGROUND STUDY ........................................................... 7


2.1. Existing solutions ........................................................................................7
2.2. Problem Definition ......................................................................................8

2.3. Goals/Objectives .........................................................................................8

CHAPTER 3. DESIGN FLOW/PROCESS ....................................................... 9


3.1. Evaluation & Selection of Specifications/Features ......................................9

3.2. Analysis of Features and finalization subject to constraints .........................9

Design Flow .............................................................................................. 12


3.3.
CHAPTER 4. RESULTS ANALYSIS AND VALIDATION .......................... 13
4.1. Implementation of solution ....................................................................... 13

CHAPTER 5. CONCLUSION AND FUTURE WORK ................................. 15


5.1. Conclusion ................................................................................................ 15

5.2. Future work .................................................................................................


R

Chapter 1: Introduction

1.1 Introduction to Project

With the increasing need for foreign currency exchanges for purposes like business, travel,
education, and international trade, the Currency Converter project provides a quick, easy-to-use
solution. In a world where the economic borders are thinning, a versatile currency converter is a
crucial tool for anyone working with multiple currencies.

This project aims to develop a converter for Indian Rupees (INR) to other currencies, specifically
USD, EUR, GBP, AUD, and CAD. While the focus of this project is on the technical development
of the converter using Python, the need for real-time conversion tools has become more evident
with the rise in cross-border activities.

This project is implemented using Python and the ipywidgets library to create an interactive interface
where users can input the amount in INR and select the currency they wish to convert to. It also
allows for the future extension to support more currencies and features like real-time conversion.

1.2 Identification of Problem

The main issue this project addresses is the need for a lightweight and intuitive currency conversion
tool. While there are many online converters, users sometimes prefer a tool they can run on their
own systems, particularly in environments with limited internet access.

The problem is made more specific by the following:

 Most available converters either require an internet connection to fetch up-to-date exchange rates or
are embedded within complex applications.
 Many converters provide real-time exchange rates that fluctuate frequently, making them difficult
for offline or controlled environments.
 The project aims to address this gap by creating a static converter for demo and educational
purposes.

Chapter 2: Background Study

2.1 Existing Solutions

Currency conversion is a widespread requirement, particularly in sectors such as international trade,


travel, education, and finance. The solutions available today for currency conversion are varied in
scope, accessibility, and functionality. The most commonly used solutions include:

a. Web-based Currency Converters


R

Platforms such as Google, XE.com, and OANDA offer currency conversion tools online. These
services allow users to enter the amount of money and select the currency they wish to convert to.
These tools often pull real-time exchange rates from central banks or currency trading platforms.
Some key characteristics of web-based converters include:

 Real-time updates: These platforms provide real-time exchange rates, often updated minute-by-
minute.
 User-friendly interface: Most websites are intuitive and designed for quick usage, often without
needing user accounts or subscriptions.
 Additional features: Some platforms, like XE.com, provide historical exchange rate data, currency
forecasts, and analysis for business users.

Limitations of Web-Based Solutions:

 Internet dependency: These converters require an active internet connection, which may not be
accessible in certain situations (remote locations, flights, or limited bandwidth environments).
 Overly complex: For users simply looking for a quick conversion, the additional features,
advertisements, and account requirements can be cumbersome.
 Security and privacy risks: Users may hesitate to use online services due to privacy concerns,
particularly when entering financial data.

b. Mobile Currency Converter Apps

Applications such as Revolut, Currency Converter Plus, and Easy Currency Converter provide
mobile solutions for real-time currency conversion. These apps often allow users to store favorite
currencies, track exchange rate trends, and even convert offline using cached rates.

Limitations of Mobile Apps:

 App installation required: Users need to download and install the app, which might be an
unnecessary hassle for occasional users.
 Internet requirement: While some apps allow offline conversion, these typically rely on cached
rates that may quickly become outdated.
 Battery and storage: Mobile apps can consume additional phone resources, which may not be ideal
for users with limited storage or low battery power.

c. Built-in Currency Conversion Features in Financial Software

Software like Bloomberg Terminal, Microsoft Excel (with add-ons), and various trading platforms
also offer built-in currency converters. These platforms are typically used by professionals in
finance and trade industries to make decisions based on currency fluctuations. These systems often
provide advanced features like real-time data, API integration, and complex formula-based
conversion.

Limitations of Financial Software Solutions:


R

 Overly specialized: These systems are built for finance professionals, and the vast array of features
may overwhelm casual users who need only basic currency conversion.
 High cost: Access to some of these tools (such as Bloomberg) requires a significant subscription
cost, which is not justifiable for casual currency conversion needs.

2.2 Problem Definition

Despite the abundance of solutions, many users face difficulties when they need to convert
currencies for simple tasks. These difficulties arise from several limitations in the current solutions,
such as:

1. Dependency on the Internet: Most online and mobile-based converters require an active internet
connection, which may not always be available. Users traveling to remote locations or in-flight often
find it difficult to access up-to-date currency conversion rates.
2. Over-complexity: Many solutions include advanced features that regular users don’t need. For
instance, tools like XE.com and Bloomberg provide historical data, trend analysis, and financial
predictions, which can clutter the user interface and confuse users who are only interested in
converting currency amounts quickly.
3. Inconsistent access to offline conversion: While some mobile apps provide offline conversion
using cached rates, the stored rates can become outdated. Additionally, the conversion features may
not always function without internet access.
4. Privacy Concerns: Users may not feel comfortable entering personal financial details on websites
or applications due to potential privacy risks, especially when using third-party services for currency
conversion.
5. Excessive resource usage: Mobile apps and financial software can consume significant device
resources, including battery life and storage space, making them inefficient for users who need a
simple conversion for occasional use.

Given these limitations, a more straightforward, offline-friendly solution is needed for users who
want to convert Indian Rupees (INR) into major international currencies without the added
complexity of internet-dependent platforms.

2.3 How Our Code Solves the Problem

Our Python-based Currency Converter addresses these problems through a lightweight and easily
customizable solution, offering several advantages that directly mitigate the issues outlined in the
Problem Definition section:

a. Offline Capability

One of the primary benefits of our solution is its ability to run entirely offline. By utilizing
predefined exchange rates, the converter does not require an internet connection, making it suitable
for users in remote areas, airplanes, or any environment where internet access is unreliable or
unavailable. Users can convert INR to USD, EUR, GBP, AUD, and CAD with fixed rates that are
embedded directly into the code.

b. Simplicity and User-Friendliness


R

Unlike financial software or mobile apps that include complex features, our converter focuses
purely on currency conversion, making it easy to use. The interface consists of only four
components:

 Input field: For entering the amount in INR.


 Dropdown menu: For selecting the target currency.
 Convert button: To trigger the calculation.
 Result display: To show the converted value.

This simplicity ensures that users are not overwhelmed by unnecessary options or advanced
financial tools. It is an ideal solution for users who only need basic currency conversion for casual
use.

c. No Privacy Risks

Since the converter is a standalone Python program, there is no data transmission over the internet.
This eliminates any concerns about privacy or data security, as all the conversions are handled
locally on the user’s device.

d. Resource-Efficient

Our currency converter is designed to run in Jupyter Notebook or Google Colab, both of which are
low-resource environments. It does not require downloading any large apps or software, making it a
lightweight alternative to mobile apps or financial software. The code can also be easily modified
or embedded in other Python projects, offering flexibility without the need for additional
installations.

e. Customizable for Educational Purposes

This currency converter also serves as a fantastic learning tool for students or beginner
programmers. It demonstrates the use of Python widgets ( ipywidgets) for creating interactive
programs. The code is well-structured and easy to understand, allowing students to modify the
conversion rates, add more currencies, or integrate real-time data fetching as part of their learning
experience.

How the Code Works:

1. Predefined Rates: We have set up a dictionary (conversion_rates) that contains static


exchange rates for converting INR into USD, EUR, GBP, AUD, and CAD. These rates are
fixed, so the program can run without an internet connection.
2. User Input: The user enters an amount in Indian Rupees (INR) through a text field.
3. Currency Selection: The user selects a target currency from a dropdown menu that lists
USD, EUR, GBP, AUD, and CAD.
4. Conversion Logic: When the user clicks the "Convert" button, the amount entered by the
user is multiplied by the conversion rate for the selected currency.
5. Result Display: The converted amount is displayed as output. The code also handles invalid
input (such as entering text instead of a number) and displays an appropriate message.
R

2.3 Goals/Objectives

The main objectives of this project are:

 To create a currency converter using Python that takes a user input amount in INR and converts it to
other currencies (USD, EUR, GBP, AUD, CAD).
 To design the interface using Python's ipywidgets library, providing an interactive experience.
 To make the system extensible, allowing future development to include more currencies and real-
time data fetching.

Chapter 3: Design Flow/Process

3.1 Evaluation & Selection of Specifications/Features

The project began by evaluating which currencies would be supported initially. Given that the
Indian Rupee (INR) is most commonly exchanged into USD, EUR, GBP, AUD, and CAD, these
currencies were selected.

Next, a user interface design was chosen that allows users to easily input the amount, select a
currency, and get results without complex operations.

Key Features:

 A text input field for entering an amount in INR.


 A dropdown menu for selecting the target currency.
 A button to trigger the conversion.
 A result label to display the conversion outcome.

3.2 Analysis of Features and Finalization Subject to Constraints

The application uses fixed conversion rates for simplicity. This constraint ensures that the
application can run offline but also limits its real-world application. However, this was deemed
acceptable since the project focuses on demonstrating interactive UI components and logic in
Python.

3.3 Design Flow


R

The overall flow of the application is illustrated in the diagram below:

+--------------+ +--------------+ +-------------+


| Input Amount | ----> | Select Target | ----> | Display |
| (in INR) | | Currency | | Result |
+--------------+ +--------------+ +-------------+
1. The user inputs an amount in INR.
2. They select the target currency from a dropdown list.
3. The button is clicked to perform the conversion.
4. The result is displayed in a label below.

3.4 User Interface Design

The interface consists of:

 Amount Input Field: Allows users to enter a value in INR.


 Dropdown Menu: Displays a list of currencies for selection.
 Convert Button: Triggers the conversion.
 Result Label: Shows the converted value.

This simple and intuitive interface is ideal for educational purposes or quick demos. Below is a
screenshot of the user interface when the program is run in a Jupyter Notebook or Google Colab
environment:

Chapter 4: Results Analysis and Validation


4.1 Implementation of Solution

Below is the complete code for the Currency Converter:

python
Copy code
import ipywidgets as widgets
from IPython.display import display

conversion_rates = {
'USD': 0.014, # 1 INR = 0.014 USD
'EUR': 0.012, # 1 INR = 0.012 EUR
'GBP': 0.010, # 1 INR = 0.010 GBP
'AUD': 0.020, # 1 INR = 0.020 AUD
'CAD': 0.018, # 1 INR = 0.018 CAD}

def convert_currency(amount, currency):


try:
R

amount = float(amount)
result = amount * conversion_rates[currency]
return f"{amount} INR is equal to {result:.2f} {currency}"
except ValueError:
return "Invalid input"

amount_input = widgets.Text(value='', placeholder='Enter amount in INR', description='Amount:', disabled=False)

currency_options = list(conversion_rates.keys())
currency_dropdown = widgets.Dropdown(options=currency_options, value=currency_options[0],
description='Currency:')

convert_button = widgets.Button(description='Convert')

output_label = widgets.Label(value='')

def on_button_clicked(b):
amount = amount_input.value
currency = currency_dropdown.value
result = convert_currency(amount, currency)
output_label.value = result

convert_button.on_click(on_button_clicked)

display(amount_input)
display(currency_dropdown)
display(convert_button)
display(output_label)

Output :

4.2 Testing and Performance Evaluation


R

The code was tested in various environments including Jupyter Notebook and Google Colab. The
user interface performed as expected, displaying the correct conversion values based on the
predefined rates. Below is an example of test cases:

Test Case Input INR Selected Currency Expected Output Result


1 1000 USD 1000 INR is equal to 14.00 USD Success
2 5000 EUR 5000 INR is equal to 60.00 EUR Success
3 abc GBP Invalid input Success

Chapter 5: Challenges Encountered

Throughout the project, a few challenges were faced:

1. Accuracy of Exchange Rates: Since the project uses fixed rates, ensuring accuracy across different
test scenarios was crucial.
2. Handling Invalid Input: User input validation was an essential feature, requiring careful handling
of errors like non-numeric inputs.
3. User Experience: Creating a simple yet effective interface involved decisions around what features
to include and how to balance functionality with simplicity.

Chapter 6: Conclusion and Future Work


6.1 Conclusion

The Currency Converter project successfully demonstrates the integration of user interaction
through Python’s ipywidgets library. It converts a given amount in INR to various currencies, using
predefined exchange rates. The project serves as a proof of concept and can be expanded to include
more currencies and real-time updates.

6.2 Future Work

The project can be extended in several ways:

 Real-time Exchange Rates: Fetching live data from an API like Open Exchange Rates or Currency
Layer to provide up-to-date conversion.
 More Currencies: Adding more currencies such as Japanese Yen (JPY), Swiss Franc (CHF), and
others.
 Mobile Interface: Developing a mobile-friendly version for wider accessibility.
 Currency Conversion History: Including features to track historical conversions and view
exchange rate trends.

You might also like