Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Converter System

A unified microservice-based converter platform built with React, Spring Boot, MongoDB, and Docker.

React Spring Boot MongoDB Docker Java


Overview

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.


Architecture

                    React Frontend
                           │
                           │
        ┌──────────────────┴──────────────────┐
        │                                     │
        ▼                                     ▼
 Currency Backend                    Temperature Backend
    Spring Boot                         Spring Boot
        │                                     │
        ▼                                     ▼
 Currency MongoDB                    Temperature MongoDB

Features

Currency Service

  • Currency conversion
  • Live exchange rates
  • Conversion history
  • Search history
  • Delete individual records
  • Clear complete history

Temperature Service

  • Celsius ↔ Fahrenheit conversion
  • Conversion history
  • Update previous conversions
  • Delete history
  • Temperature safety validation

Technologies

Frontend

  • React
  • Vite
  • React Router
  • Axios
  • CSS3

Backend

  • Spring Boot
  • Spring MVC
  • Spring Data MongoDB
  • Lombok
  • Maven

Database

  • MongoDB

Containerization

  • Docker
  • Docker Compose

Project Structure

converter-system
│
├── frontend
│
├── currency-backend
│
├── temperature-backend
│
└── docker-compose.yml

Running the Project

Clone the repository

git clone https://github.com/roshini-nawanjala/converter-system.git

Move into the project

cd converter-system

Build and start all services

docker compose up --build

Service Ports

Service Port
React Frontend 3000
Currency Backend 8082
Temperature Backend 8081

REST APIs

Currency Service

Method Endpoint
POST /api/currency/convert
GET /api/currency/history
GET /api/currency/rate
DELETE /api/currency/history/{id}
DELETE /api/currency/history

Temperature Service

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

Security

Both backend services are protected using API Key authentication.

The frontend automatically includes the required API key when sending requests to the backend services.


Future Enhancements

  • API Gateway
  • Spring Cloud Config
  • Service Discovery
  • JWT Authentication
  • Centralized Logging
  • Monitoring
  • CI/CD Pipeline
  • Unit & Integration Testing

Screenshots

Home

image

Currency Converter

image

Temperature Converter

image

Author

Roshini Nawanjala

Faculty of Information Technology

GitHub: https://github.com/roshini-nawanjala


License

This project was developed for educational purposes.

About

Unified Converter System built with React, Spring Boot, MongoDB and Docker Compose.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages