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
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.
Sign in with pre-defined credentials user:pass123
The currency converter is accessible after a successful login.
The API documentation is available at http://localhost:8080/docs
The API requires authentication. A default user with credentials user:pass123
is added to the
database when the Currency API service starts.
-
Add a caching middleware layer using Redis running in a separate container. ✓
-
Implement Kubernetes for deployment. ✓
-
Use nginx container for deployment. ✓
-
Add more endpoints. E.g.
- Highest/Lowest rate for a currency on a given day
- Highest/Lowest rate for a currency between two dates.
- Latest rates of all currencies with reference to a base currency. ✓
-
Interactive front end for a currency converter using React. ✓
-
Interactive front end to visualize trends in currency rates using React.
-
Closer integration of Pydantic and SQLAlchemy models in FastAPI.