diff --git a/.gitignore b/.gitignore index b694934..0e5ac79 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.venv \ No newline at end of file +.venv +__pycache__ \ No newline at end of file diff --git a/README.md b/README.md index e162bee..c7a4e70 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ ## Project Link -https://share.streamlit.io/ayxan-z/huaweihealthdatavisualization/main/app/main.py +https://ayxan-z-huaweihealthdatavisualization-appmain-vgn77h.streamlit.app/ ## Instalition **pip install -r requirements.txt
** diff --git a/app/__init__.py b/src/app/__init__.py similarity index 100% rename from app/__init__.py rename to src/app/__init__.py diff --git a/app/main.py b/src/app/main.py similarity index 93% rename from app/main.py rename to src/app/main.py index 4151a8c..07ac575 100644 --- a/app/main.py +++ b/src/app/main.py @@ -1,21 +1,24 @@ # sourcery skip: list-comprehension +from pathlib import Path +main_path: Path = Path(__file__).resolve().parent.parent + +from sys import path +path.append(main_path) + import pandas as pd import plotly.express as px -import json import streamlit as st from datetime import (datetime, timedelta) -from pathlib import Path +from data_access import LocalTestData -data_dir = Path(__file__).resolve().parent.parent / 'data' - st.set_page_config(page_title = 'Health Data Visualization', page_icon = ':bar_chart:', layout = 'wide') -with open(data_dir / 'huawei_health_data.json') as f: - data = json.load(f) +local_data = LocalTestData('data') +data = local_data.get_data('huawei_health_data.json') heart_rate = [] for d in data: diff --git a/src/data_access/__init__.py b/src/data_access/__init__.py new file mode 100644 index 0000000..49c100a --- /dev/null +++ b/src/data_access/__init__.py @@ -0,0 +1 @@ +from .local_data_access import LocalTestData \ No newline at end of file diff --git a/src/data_access/local_data_access.py b/src/data_access/local_data_access.py new file mode 100644 index 0000000..4a66066 --- /dev/null +++ b/src/data_access/local_data_access.py @@ -0,0 +1,13 @@ +from pathlib import Path +import json +from typing import List + + +class LocalTestData: + def __init__(self, data_folder_name: str) -> None: + self.data_dir: Path = Path(__file__).resolve().parent.parent.parent / data_folder_name + + def get_data(self, file_name: str) -> List: + with open(self.data_dir / file_name) as f: + data: List = json.load(f) + return data \ No newline at end of file