0% found this document useful (0 votes)
25 views44 pages

It Last Project

Uploaded by

devilq176
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views44 pages

It Last Project

Uploaded by

devilq176
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

Currency conversion system

Project Report Submitted by

P.HEMABHARATHI
In partial fulfillment of the

CBSE GRADE XII


IN

INFORMATION TECHNOLOGY
(802)
AT

MAHARISHI VIDYA MANDIR SR.SEC.SCHOOL THENMATHUR


POST,

TIRUVANNAMALAI 606603

2024-2025
ACKNOWLEDGEMENT

1. I take immense pleasure to thank all the persons who


helped me to complete my project successfully

1. Straight from my soul, depth of my heart, I am grateful to


the almighty for this shower of blessing that made me to
carry out this project with immense strength and
patience

1. I like to thank our Management for giving me a chance to


carry out my investigatory project in this esteemed
institution

1. I would like to express my profound gratitude to

Mrs . R.ANITHA, M,sc., M.Ed., M.L.ISc., M.Phil., Principal,

Maharishi Vidya Mandir CBSE School, Tiruvannamalai for


allowing me to under take my investigatory project work
in this prestigious institute.

1. I hearty thank to internal guide


Mrs. N.SUBBULAKSHMI M.sc., B.Ed whose interest, valuable
advice, excellent guidance, innovative ideas, continuous
motivation and timely help given to me throughout my
period

Signature of the candidate


CERTIFICATE
This is to certify that P.HEMABHARRATHI of grade XII in
MAHARISHI VIDYAMANDIR SR. SEC SCHOOL TIRUVANNAMALAI
with register number __________Has done the
INFORMATION TECHNOLOGY(802) project entitled CURRENCY
CONVERSION SYSTEM in partial fulfillment of the
requirement as prescribed by CBSE in the year 2024-
2025

SIGNATURE OF THE CANDIDATESIGNATURE OF THE INTERNAL EXAMINER

SIGNATURE OF THE PRINCIPAL SIGNATURE OF THE EXTERNAL


EXAMINER

CONTENTS
INTRODUCTION

SOURCECODE

OUTPUT

REFERENCES
Currency Conversion System
Introduction
This program converts the given amount from one currency to
another .

Software and Hardware needs


The Currency Conversion System requires both
software and hardware components to
function effectively. Here's a breakdown of the
software and hardware needs:

### Software Needs:

1. **Operating System:**
- Choose an operating system based on the
preferences and compatibility with your
selected programming language and
frameworks. Common choices include Linux
distributions (such as Ubuntu, CentOS),
Windows Server, or macOS.

2. **Web Server:**
- If the Currency Conversion System is web-
based, you'll need a web server to handle HTTP
requests. Popular choices include Apache,
Nginx, or Microsoft Internet Information
Services (IIS).

3. **Programming Language and


Frameworks:**
- Select a programming language (e.g.,
Python, Java, C#) and relevant frameworks
(e.g., Django, Flask, Spring Boot) for building
the core logic and functionalities of the system.
4. **Database Management System
(DBMS):**
- Choose a DBMS (e.g., MySQL, PostgreSQL,
MongoDB) to store and manage data related to
currency exchange rates, user accounts, and
transaction history.

5. **APIs for Currency Exchange Rates:**


- Integrate with third-party APIs that provide
real-time currency exchange rates. Services like
Open Exchange Rates, Fixer.io, or
ExchangeRate-API can be used.
6. **Security Software:**
- Implement security measures such as
SSL/TLS for secure communication, encryption
for sensitive data, and security libraries for
protection against common vulnerabilities.

7. **User Interface (UI) Libraries or


Frameworks:**
- Use UI libraries or frameworks (e.g., React,
Angular, Vue.js) to build an interactive and
user-friendly front end for the Currency
Conversion System.

8. **Server-Side Logic:**
- Develop server-side logic to handle currency
conversion calculations, user authentication,
and data validation. Utilize frameworks or
libraries depending on the chosen
programming language.

9. **Client-Side Logic:**
- Implement client-side logic using JavaScript
frameworks or libraries to enhance user
interactions and handle asynchronous requests.

10. **Testing Tools:**


- Employ testing frameworks (e.g., JUnit,
Pytest, Jasmine) for automated testing to
ensure the reliability and functionality of the
system.
11. **Version Control System:**
- Use a version control system (e.g., Git) to
track changes, collaborate with a team, and
manage the codebase effectively.

12. **Deployment and Hosting Platforms:**


- Choose a platform for deploying and
hosting the application. Cloud services like
AWS, Azure, or Heroku are common choices,
but on-premises servers can also be
considered.

13. **Monitoring and Logging Tools:**


- Implement tools for monitoring and logging
(e.g., Prometheus, Grafana, ELK stack) to track
system performance and identify potential
issues.
14. **Documentation Tools:**
- Utilize documentation tools (e.g.,
Swagger/OpenAPI) to create comprehensive
documentation for code, APIs, and system
architecture.

15. **Continuous Integration/Continuous


Deployment (CI/CD) Tools:**
- Set up CI/CD pipelines (e.g., Jenkins, GitLab
CI, Travis CI, GitHub Actions) for automating
testing, building, and deploying processes.
### Hardware Needs:

1. **Server Infrastructure:**
- Depending on the scale and requirements of
the Currency Conversion System, you may need
servers to host the application. These servers
can be physical machines or virtual machines in
the cloud.

2. **Networking Equipment:**
- Ensure proper networking equipment to
facilitate communication between servers,
clients, and external APIs. This includes routers,
switches, and firewalls.
3. **Storage Solutions:**
- Choose appropriate storage solutions,
whether it's local storage on servers or cloud-
based storage services, to store and retrieve
data efficiently.

4. **Load Balancers (if applicable):**


- For handling high traffic loads, consider
using load balancers to distribute incoming
requests across multiple servers and ensure
optimal performance.

5. **Backup Systems:**
- Implement backup systems to regularly back
up critical data, ensuring data recovery in case
of system failures or data loss.
6. **Security Infrastructure:**
- Invest in security infrastructure, including
firewalls and intrusion detection/prevention
systems, to protect the system from potential
security threats.

7. **Scalability and Redundancy:**


- Design the system architecture to be
scalable and redundant to handle increased
loads and provide fault tolerance.

8. **Monitoring Hardware:**
- Consider hardware components for
monitoring purposes, such as sensors and
monitoring tools, to keep track of server health
and performance.

Remember that the specific software and


hardware requirements can vary based on
factors such as the scale of the system, user
load, and performance expectations.
Adjustments may be necessary based on your
project's unique needs and constraints.
ADVANTAGES
A currency conversion system provides several
advantages in various contexts, especially in the
financial and business domains. Here are some
key advantages:

1. **Global Transactions:** Enables


international trade and business by allowing
seamless conversion of currencies. This is
particularly crucial for companies engaged in
global commerce, facilitating transactions and
expanding market reach.

2. **Risk Management:** Helps in mitigating


currency risk by providing real-time exchange
rate information. Businesses can make
informed decisions and hedge against currency
fluctuations, reducing the impact of volatile
exchange rates on their finances.

3. **Financial Planning:** Facilitates accurate


financial planning and budgeting for individuals
and organizations dealing with multiple
currencies. It allows for precise estimation of
costs, revenues, and profits in a consistent
currency.
4. **Investment Diversification:** Investors
can diversify their portfolios by investing in
assets denominated in different currencies.
Currency conversion systems make it easier to
manage and monitor these investments by
providing up-to-date conversion rates.

5. **Tourism and Travel:** Simplifies currency


exchange for travelers, making it more
convenient and cost-effective. Tourists can
easily convert their home currency to the local
currency, promoting tourism and cross-border
travel.

6. **E-commerce:** Enables global online


businesses to conduct transactions in various
currencies, providing a seamless shopping
experience for customers around the world.
This contributes to the growth of e-commerce
on an international scale.

7. **Market Access:** Allows businesses to


access global markets and customers without
facing significant barriers related to currency
differences. This promotes competition,
innovation, and economic growth.

8. **Facilitates Price Comparison:**


Consumers and businesses can compare prices
more effectively across different regions and
markets, leading to more informed purchasing
decisions. This fosters healthy competition and
can benefit consumers by promoting fair
pricing.
9. **Efficient Cross-Border Payments:**
Currency conversion systems streamline cross-
border payments by automating the conversion
process. This reduces transaction costs and
enhances the efficiency of international money
transfers.

10. **Centralized Control:** Businesses and


financial institutions can centralize their
currency conversion processes, leading to
better control and management of financial
operations. This centralization often results in
increased efficiency and reduced operational
complexity.
11. **Compliance and Reporting:** Helps in
maintaining compliance with international
financial regulations and reporting standards.
Accurate currency conversion is essential for
financial reporting, and having a reliable system
ensures compliance with accounting and
regulatory requirements.

12. **Improved Decision-Making:** Access to


real-time exchange rate data empowers
individuals and businesses to make better-
informed decisions regarding financial
transactions, investments, and international
expansion.

In summary, a currency conversion system


plays a vital role in promoting global economic
activities, managing financial risks, and
facilitating efficient cross-border transactions in
today's interconnected world.
SOURCE CODE

package currencyConverter;
import java.util.ArrayList;
import java.util.HashMap;
public class Currency {
private String name;
private String shortName;
private HashMap<String, Double> exchangeValues = new HashMap<String, Double>();
// “Currency” Constructor
public Currency(String nameValue, String shortNameValue) {
this.name = nameValue;
this.shortName = shortNameValue;
}
// Getter for name
public String getName() {
return this.name;
}
// Setter for name
public void setName(String name) {
this.name = name;Java_Projects.md
}
// Getter for shortName
public String getShortName() {
return this.shortName;
}
// Setter for shortName
public void setShortName(String shortName) {
this.shortName = shortName;
}
// Getter for exchangeValues
public HashMap<String, Double> getExchangeValues() {
return this.exchangeValues;
}
// Setter for exchangeValues
public void setExchangeValues(String key, Double value) {
this.exchangeValues.put(key, value);
}
// Set default values for a currency
public void defaultValues() {
String currency = this.name;
switch (currency) {
case “US Dollar”:
this.exchangeValues.put(“USD”, 1.00);
this.exchangeValues.put(“EUR”, 0.93);
this.exchangeValues.put(“GBP”, 0.66);
this.exchangeValues.put(“CHF”, 1.01);
this.exchangeValues.put(“CNY”, 6.36);Java_Projects.md
this.exchangeValues.put(“JPY”, 123.54);
break;
case “Euro”:
this.exchangeValues.put(“USD”, 1.073);
this.exchangeValues.put(“EUR”, 1.00);
this.exchangeValues.put(“GBP”, 0.71);
this.exchangeValues.put(“CHF”, 1.08);
this.exchangeValues.put(“CNY”, 6.83);
this.exchangeValues.put(“JPY”, 132.57);
break;
case “British Pound”:
this.exchangeValues.put(“USD”, 1.51);
this.exchangeValues.put(“EUR”, 1.41);
this.exchangeValues.put(“GBP”, 1.00);
this.exchangeValues.put(“CHF”, 1.52);
this.exchangeValues.put(“CNY”, 9.60);
this.exchangeValues.put(“JPY”, 186.41);
break;
case “Swiss Franc”:
this.exchangeValues.put(“USD”, 0.99);
this.exchangeValues.put(“EUR”, 0.93);
this.exchangeValues.put(“GBP”, 0.66);
this.exchangeValues.put(“CHF”, 1.00);
this.exchangeValues.put(“CNY”, 6.33);
this.exchangeValues.put(“JPY”, 122.84);
break;
case “Chinese Yuan Renminbi”:Java_Projects.md
this.exchangeValues.put(“USD”, 0.16);
this.exchangeValues.put(“EUR”, 0.15);
this.exchangeValues.put(“GBP”, 0.11);
this.exchangeValues.put(“CHF”, 0.16);
this.exchangeValues.put(“CNY”, 1.00);
this.exchangeValues.put(“JPY”, 19.41);
break;
case “Japanese Yen”:
this.exchangeValues.put(“USD”, 0.008);
this.exchangeValues.put(“EUR”, 0.007);
this.exchangeValues.put(“GBP”, 0.005);
this.exchangeValues.put(“CHF”, 0.008);
this.exchangeValues.put(“CNY”, 0.051);
this.exchangeValues.put(“JPY”, 1.000);
break;
}
}
// Initialize currencies
public static ArrayList<Currency> init() {
ArrayList<Currency> currencies = new ArrayList<Currency>();
currencies.add( new Currency(“US Dollar”, “USD”) );
currencies.add( new Currency(“Euro”, “EUR”) );
currencies.add( new Currency(“British Pound”, “GBP”) );
currencies.add( new Currency(“Swiss Franc”, “CHF”) );
currencies.add( new Currency(“Chinese Yuan Renminbi”, “CNY”) );
currencies.add( new Currency(“Japanese Yen”, “JPY”) );
for (Integer i =0; i < currencies.size(); i++) {Java_Projects.md
currencies.get(i).defaultValues();
}
return currencies;
}
// Convert a currency to another
public static Double convert(Double amount, Double exchangeValue) {
Double price;
price = amount * exchangeValue;
price = Math.round(price * 100d) / 100d;
return price;
}
}

OUTPUT
MY SQL TABLES
To create a simple MySQL database for a
currency converter, you would typically need
at least two tables: one for storing currency
exchange rates and another for recording
conversion transactions. Here's an example
schema for these tables:

1. **Currency Rates Table:**


- This table stores the exchange rates
between different currencies.

```sql
CREATE TABLE currency_rates (
id INT PRIMARY KEY AUTO_INCREMENT,
base_currency VARCHAR(3) NOT NULL,
target_currency VARCHAR(3) NOT NULL,
exchange_rate DECIMAL(10, 6) NOT NULL,
last_updated TIMESTAMP DEFAULT
CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP
);
```

Explanation:
- `id`: Unique identifier for each record.
- `base_currency`: The currency you are
converting from (e.g., USD).
- `target_currency`: The currency you are
converting to (e.g., EUR).
- `exchange_rate`: The conversion rate from
the base to the target currency.
- `last_updated`: Timestamp to track when
the exchange rate was last updated.

2. **Conversion History Table:**


- This table records the details of currency
conversion transactions.

```sql
CREATE TABLE conversion_history (
id INT PRIMARY KEY AUTO_INCREMENT,
from_currency VARCHAR(3) NOT NULL,
to_currency VARCHAR(3) NOT NULL,
amount DECIMAL(10, 2) NOT NULL,
converted_amount DECIMAL(10, 2) NOT
NULL,
conversion_rate DECIMAL(10, 6) NOT NULL,
transaction_date TIMESTAMP DEFAULT
CURRENT_TIMESTAMP
);
```

Explanation:
- `id`: Unique identifier for each conversion
transaction.
- `from_currency`: The currency being
converted from.
- `to_currency`: The currency being
converted to.
- `amount`: The original amount before
conversion.
- `converted_amount`: The resulting amount
after conversion.
- `conversion_rate`: The exchange rate used
for the conversion.
- `transaction_date`: Timestamp for when
the conversion occurred.

These are basic examples, and depending on


your specific requirements, you may need to
expand or modify the schema. Additionally,
consider adding constraints, indexes, and
foreign keys as needed to ensure data
integrity and improve query performance.
LIMITATIONS AND SCOPE
While currency conversion systems offer
numerous advantages, they also come with
certain limitations and scope considerations.
Understanding these aspects is crucial for
effectively implementing and using such
systems. Here are some limitations and
considerations:

**1. Exchange Rate Fluctuations:**


- **Limitation:** Exchange rates are subject
to constant fluctuations, and real-time updates
are essential for accurate conversions.
- **Scope:** Currency conversion systems
need to integrate mechanisms for frequent
updates and possibly include risk management
strategies for dealing with sudden rate changes.
**2. Transaction Costs:**
- **Limitation:** Converting currencies often
involves transaction costs or fees, which can
impact the overall cost of doing business or
financial transactions.
- **Scope:** Users need to be aware of and
consider transaction costs when utilizing
currency conversion systems, and businesses
may explore cost-effective options.

**3. Accuracy and Precision:**


- **Limitation:** Exchange rates provided by
external sources may not always be accurate,
leading to discrepancies in conversion results.
- **Scope:** Implementing mechanisms for
verifying and updating exchange rates
regularly, as well as using reliable data sources,
can help improve accuracy.

**4. Limited Currencies Supported:**


- **Limitation:** Some currency conversion
systems may support a limited number of
currencies, limiting their usability in regions
with less common or emerging currencies.
- **Scope:** Expanding the supported
currencies based on user needs and market
demands can enhance the system's scope and
relevance.

**5. Regulatory Compliance:**


- **Limitation:** Adherence to international
financial regulations and compliance
requirements may pose challenges, especially
when dealing with cross-border transactions.
- **Scope:** Currency conversion systems
should incorporate features to ensure
compliance with regulatory standards, and
businesses must stay informed about legal
considerations.

**6. User Education:**


- **Limitation:** Users may not fully
understand the complexities of currency
markets, leading to potential
misunderstandings or misinterpretations of
conversion results.
- **Scope:** Offering educational resources
or clear documentation within the currency
conversion system can help users make
informed decisions.

**7. Integration with External Systems:**


- **Limitation:** Integrating currency
conversion systems with other financial or
business systems may be challenging, especially
if data formats and APIs are not standardized.
- **Scope:** Enhancing compatibility and
providing well-defined APIs can expand the
integration capabilities of currency conversion
systems.

**8. Security Concerns:**


- **Limitation:** Security risks, including
fraud and unauthorized access, are inherent in
financial transactions, including currency
conversion.
- **Scope:** Implementing robust security
measures, encryption, and authentication
mechanisms can address security concerns and
protect user data.

**9. Economic and Political Factors:**


- **Limitation:** Economic and political
events in different countries can impact
exchange rates and introduce uncertainties.
- **Scope:** Regular monitoring of global
economic and political trends and incorporating
mechanisms to adjust for such factors can
enhance the system's adaptability.
Understanding these limitations and addressing
them within the scope of the currency
conversion system is essential for ensuring its
effectiveness and reliability in diverse
scenarios. Regular updates, user education, and
a proactive approach to risk management are
key elements in managing these limitations.
BIBLIOGRAPHY
As of my last knowledge update in January
2024, I don't have the ability to provide a real-
time bibliography. However, I can guide you on
the types of sources you might want to explore
for information on currency conversion
systems. Please note that the availability of
these sources may change over time, and you
should check relevant databases, libraries, or
online resources for the latest information.
Here are some general categories of sources
you might find useful:

1. **Academic Journals:**
- Search academic databases like JSTOR,
PubMed, or IEEE Xplore for articles related to
currency conversion systems. Topics may
include financial technologies, international
finance, and software engineering.

2. **Books:**
- Explore books on financial technologies,
international finance, and database
management systems. Books by authors
specializing in financial systems and technology
may provide in-depth insights.
3. **Conference Proceedings:**
- Proceedings from conferences on financial
technology, database systems, and
international finance can provide information
on the latest research and developments in
currency conversion systems.

4. **Research Papers:**
- Look for research papers published by
universities, financial institutions, and
technology companies. Websites of institutions
like the World Bank or the International
Monetary Fund (IMF) may have valuable
research.
5. **Financial News and Magazines:**
- Follow reputable financial news sources and
magazines like The Wall Street Journal, The
Economist, or Forbes for articles on currency
conversion systems, market trends, and
innovations.

6. **Official Documentation:**
- Explore official documentation from
financial regulatory bodies and institutions. For
example, reports from the Bank for
International Settlements (BIS) or the European
Central Bank may provide insights into currency
systems.
7. **Online Platforms:**
- Websites of financial technology companies,
payment processors, and currency exchange
platforms often provide whitepapers, case
studies, and technical documentation on their
currency conversion systems.

8. **Government Reports:**
- Check reports and publications from
government agencies involved in finance and
trade. These reports might include information
on currency systems, regulations, and
economic trends.

9. **Online Courses:**
- Consider enrolling in online courses related
to financial technologies or international
finance. Platforms like Coursera, edX, or Khan
Academy may offer relevant courses.

10. **Industry Reports:**


- Market research reports from organizations
like Gartner or Forrester Research might offer
insights into the trends and technologies
shaping currency conversion systems.

When citing specific sources, make sure to


follow the citation style (APA, MLA, Chicago,
etc.) specified by your academic or professional
institution. Always check the credibility and
relevance of the sources you use for your
research.

You might also like