Skip to content

Currency Converter App using React+FastAPI+Docker+NGINX+Kubernetes implemented using micro-services architecture.

Notifications You must be signed in to change notification settings

s-raza/currency-converter-api

Repository files navigation

Currency Converter App using React+FastAPI+Docker+NGINX+Kubernetes

Sphinx Documetation FastAPI React Pre-commit Async Redis Docker SQLAlchemy-MySQL NGINX

React+FastAPI+NGINX based currency converter app with micro services architecture implemented using Docker and Kubernetes.

✓ FastAPI backend | ✓ React front end for a currency converter | ✓ Token based authentication with Username and Password | ✓ Async | ✓ Micro Services | ✓ Tests Automation | ✓ CI/CD Ready | ✓ REST API | ✓ Redis Cache | ✓ SQLAlchemy/MySQL

Documentation

Code documentation and instructions on how to run the application can be viewed on the project's GitHub Pages. The code documentation is pre-built using Sphinx

Alternatively the code documentation can be read directly from the docstrings in the source code.

React Frontend

Login Interface


Sign in with pre-defined credentials user:pass123


The currency converter is accessible after a successful login.

FastAPI Backend

API Documentation

The API documentation is available at http://localhost:8080/docs

Swagger UI API Docs

Authentication for Swagger UI

The API requires authentication. A default user with credentials user:pass123 is added to the database when the Currency API service starts.

Swagger UI Login Dialog

Swagger UI Successful Login

Planned Updates

  1. Add a caching middleware layer using Redis running in a separate container. ✓

  2. Implement Kubernetes for deployment. ✓

  3. Use nginx container for deployment. ✓

  4. Add more endpoints. E.g.

    1. Highest/Lowest rate for a currency on a given day
    2. Highest/Lowest rate for a currency between two dates.
    3. Latest rates of all currencies with reference to a base currency. ✓
  5. Interactive front end for a currency converter using React. ✓

  6. Interactive front end to visualize trends in currency rates using React.

  7. Closer integration of Pydantic and SQLAlchemy models in FastAPI.

About

Currency Converter App using React+FastAPI+Docker+NGINX+Kubernetes implemented using micro-services architecture.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published