diff --git a/README.md b/README.md index 0d43a1d..b7d979d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,46 @@ -# Mantine Vite template +# CryptoLive -Get started with the template by clicking `Use this template` button on the top of the page. +- [CryptoLive](https://crypto-api-71ok.onrender.com/) is a web application that displays live cryptocurrency prices. +- Users can sign up and sign in to favorite their preferred cryptocurrencies for quick access. +- Accessible from any device try it on your phone! +- (Note the application takes ~30 seconds to load if it has not been accessed for a while.) -[Documentation](https://mantine.dev/guides/vite/) +![CryptoLive Screenshot](assets/images/homepage.png) + + + + +## Table of Contents + +- [Features](#features) +- [Technologies Used](#technologies-used) +- [Links](#links) +- [Contact](#contact) + + +## Features + +- **Live Cryptocurrency Prices**: View real-time prices of various cryptocurrencies. +- **User Authentication**: Sign up and sign in using JWT tokens for secure access. +- **Favorites**: Logged-in users can favorite their preferred cryptocurrencies for quick access. + + +## Technologies Used + +- **Frontend**: Streamlit +- **Backend**: FastAPI, Python +- **Database**: MongoDB (hosted on Azure Cloud) +- **Authentication**: JWT tokens + + +## Links +- **Free Cryptocurrency Data**: [CoinGecko API](https://www.coingecko.com/en/api) +- **Free Hosting Platform**: [Render.com](https://render.com/) +- **Package Manager**: [Poetry](https://python-poetry.org/) + +## Contact + +For any inquiries or questions, please contact: + +- Taran Lau - [taran.s.lau@gmail.com](mailto:taran.s.lau@gmail.com) +- GitHub: [@unsupervised-machine](https://github.com/unsupervised-machine) \ No newline at end of file diff --git a/assets/images/homepage.png b/assets/images/homepage.png new file mode 100644 index 0000000..3d8a247 Binary files /dev/null and b/assets/images/homepage.png differ diff --git a/crypto_api/api_client.py b/crypto_api/api_client.py index 12ee11d..188889c 100644 --- a/crypto_api/api_client.py +++ b/crypto_api/api_client.py @@ -1,3 +1,7 @@ +# -- api_client.py -- # +# This contains functions used to fetch data from coingecko servers. + + import requests from requests.exceptions import HTTPError, ConnectionError, Timeout, RequestException from dotenv import load_dotenv diff --git a/crypto_api/database.py b/crypto_api/database.py index 05f11c7..f0cccf7 100644 --- a/crypto_api/database.py +++ b/crypto_api/database.py @@ -1,3 +1,6 @@ +# -- database.py -- # +# This contains functions to interact with the mongodb. + import json from datetime import datetime from passlib.context import CryptContext diff --git a/streamlit_app.py b/streamlit_app.py index aa866e5..d9cac07 100644 --- a/streamlit_app.py +++ b/streamlit_app.py @@ -1,3 +1,7 @@ +# -- streamlit_app.py -- # +# This contains functions used by the front end, using Streamlit. + + import pandas as pd import streamlit as st # import streamlit_authenticator as st_auth @@ -82,7 +86,7 @@ # -- Crypto portion of app -- # -st.title('My Cryptocurrency app') +st.title('CryptoLive') # Using Test Data # MOCK_DATA = 'data/MOCK_DATA.json' # with open(MOCK_DATA, 'r') as file: