- Name: Currency-Converter ([GitHub][1])
- Author: prashantt17 ([GitHub][1])
- Purpose: A currency conversion tool. It claims to support over 150 different currencies globally. ([GitHub][1])
- Technologies / Topics listed: spring-boot, microservices. ([GitHub][1])
Here are the main parts/files/folders (from what’s visible) and what they suggest:
Currency-Converter/
├── .mvn/wrapper/
├── src/
├── .gitignore
├── mvnw
├── mvnw.cmd
└── pom.xml
- .mvn/wrapper/ + mvnw, mvnw.cmd — this is the standard Maven wrapper setup. It allows building the project without requiring the user to have Maven pre-installed. ([GitHub][1])
- pom.xml — Maven’s project descriptor. It contains the dependencies, build plugins, and other configuration. ([GitHub][1])
- src/ — the source code (Java, Spring Boot likely), plus possibly HTML/CSS/JS if there is a front end. ([GitHub][1])
Also interesting: languages stats show ~58% Java, ~33% HTML, ~6% CSS, ~3% JavaScript. So there is a front-end component (web pages) as well as back-end logic. ([GitHub][1])
==> Feature Pointers:
- It supports 150+ currencies. ([GitHub][1])
- It uses Spring Boot and possibly microservices architecture. The tags/topics suggest as much. ([GitHub][1])
- There is front-end code (HTML/CSS/JavaScript) along with the back-end (Java). So likely provides a web UI where users can select currencies, enter amount, and get converted value. ([GitHub][1])
==> Flow / Architecture
Based on standard design of such tools + the hints here (Spring Boot, microservices), here’s how it likely works internally:
-
User Interface (Web Front-End)
- HTML/CSS/JavaScript: a form where user picks “from currency”, “to currency”, enters amount.
- Possibly a “convert” button.
-
Back-End Service
-
Built in Java + Spring Boot.
-
Exposes REST endpoints. One would expect something like:
GET /currencies → list of supported currencies POST /convert → with body { from, to, amount } → returns converted amount + rate
-
-
Exchange-Rate Management
- Either pulling from an external API (e.g. fixer.io, exchangerate-api, openexchangerates.org) or some other source.
- Possibly scheduled jobs or background tasks to update exchange rates periodically.
- Might keep rates in memory or in a lightweight store (file, DB).
-
Calculation Logic
- retrieve the rate between the two given currencies (maybe via normalization: many APIs give rates relative to a base currency).
- multiply/divide as required to get converted amount.
- Format result (rounding, decimal).
-
Microservice?
one service handles “rate provider”, another handles “conversion”. But from what’s visible, there is only one repo; not clear if it’s a single service or multiple services in one.
==> Strengths
- Supports many currencies → good coverage.
- Uses Spring Boot + modern Java tooling → fairly standard, maintainable.
- Web UI included → easier usability.
- Use of Maven wrapper → easy build for users without setup.