Introduction
I'm excited to share my latest project, Currency Convertor, which I developed using a combination of JavaScript, Python, HTML, CSS, and Nix. The goal of this project is to provide real-time currency conversion along with historical exchange rate charts using the ExchangeRate API. What makes this project particularly interesting is that I built it entirely through prompt-based learning, without prior knowledge of the underlying technologies.
Project Overview
Features
Real-time Currency Conversion: Get the latest exchange rates for various currency pairs.
Historical Exchange Rate Charts: Visualize historical data to analyze trends.
Quick Comparison: Compare exchange rates with major currencies.
Responsive Design: Ensures a seamless experience across different devices.
Support for Multiple Currency Pairs: Convert between a wide range of currencies.
Tech Stack
Here's a breakdown of the technologies used in this project:
JavaScript: 48.5%
HTML: 19.2%
Python: 17.3%
CSS: 14.7%
Nix: 0.3%
API Integration
The project leverages the ExchangeRate API to fetch real-time and historical exchange rates. This API provides a robust and reliable source of currency data, ensuring that users always get accurate information.
Real Time-chart
Building the Project
Setting Up
To replicate this project, follow these steps:
Clone the Repository:
git clone https://github.com/sudhirskp/CurrencyConvertor.git
Get an API Key: Sign up at ExchangeRate API to get your API key.
Set Up Your API Key:
export EXCHANGERATE_API_KEY=your_api_key_here
Install Required Packages:
pip install flask requests
Run the Application:
python main.py
Access the Application: Open your browser and navigate to
http://0.0.0.0:5000
.
Learning on the Go
One of the most rewarding aspects of this project was building it through prompt-based learning. Despite not having prior experience with some of the technologies, I was able to piece together a functional and efficient currency convertor by leveraging various resources and learning as I went along.
Challenges and Learnings
Building this project was not without its challenges. Integrating multiple technologies and ensuring seamless communication between the front-end and back-end components required careful planning and execution. However, these challenges also provided valuable learning opportunities, enhancing my understanding of full-stack development.
Conclusion
The Currency Convertor project is a testament to the power of learning by doing. By diving into this project with an open mind and a willingness to learn, I was able to create a tool that is both functional and educational. I hope this project inspires others to take on new challenges and expand their skill sets.
Feel free to check out the project on GitHub and share your feedback or contributions. Let's make currency conversion easier together!