A unified microservice-based converter platform built with React, Spring Boot, MongoDB, and Docker.
Converter System is a unified web application that combines Currency Conversion and Temperature Conversion into a single user interface while maintaining two completely independent Spring Boot backend services.
Each backend manages its own business logic, REST APIs, and MongoDB database, allowing the services to remain modular and independently deployable.
React Frontend
│
│
┌──────────────────┴──────────────────┐
│ │
▼ ▼
Currency Backend Temperature Backend
Spring Boot Spring Boot
│ │
▼ ▼
Currency MongoDB Temperature MongoDB
- Currency conversion
- Live exchange rates
- Conversion history
- Search history
- Delete individual records
- Clear complete history
- Celsius ↔ Fahrenheit conversion
- Conversion history
- Update previous conversions
- Delete history
- Temperature safety validation
- React
- Vite
- React Router
- Axios
- CSS3
- Spring Boot
- Spring MVC
- Spring Data MongoDB
- Lombok
- Maven
- MongoDB
- Docker
- Docker Compose
converter-system
│
├── frontend
│
├── currency-backend
│
├── temperature-backend
│
└── docker-compose.yml
Clone the repository
git clone https://github.com/roshini-nawanjala/converter-system.gitMove into the project
cd converter-systemBuild and start all services
docker compose up --build| Service | Port |
|---|---|
| React Frontend | 3000 |
| Currency Backend | 8082 |
| Temperature Backend | 8081 |
| Method | Endpoint |
|---|---|
| POST | /api/currency/convert |
| GET | /api/currency/history |
| GET | /api/currency/rate |
| DELETE | /api/currency/history/{id} |
| DELETE | /api/currency/history |
| Method | Endpoint |
|---|---|
| POST | /api/temperatures/convert |
| GET | /api/temperatures/history |
| PUT | /api/temperatures/history/{id} |
| DELETE | /api/temperatures/history/{id} |
| GET | /api/temperatures/safety-check |
Both backend services are protected using API Key authentication.
The frontend automatically includes the required API key when sending requests to the backend services.
- API Gateway
- Spring Cloud Config
- Service Discovery
- JWT Authentication
- Centralized Logging
- Monitoring
- CI/CD Pipeline
- Unit & Integration Testing
Roshini Nawanjala
Faculty of Information Technology
GitHub: https://github.com/roshini-nawanjala
This project was developed for educational purposes.