Study Tracker App
import streamlit as st
import pandas as pd
import plotly.express as px
import datetime
# Function to load or create the study data
def load_data():
try:
data = pd.read_csv('study_data.csv', parse_dates=['Date'])
except FileNotFoundError:
data = pd.DataFrame(columns=['Date', 'Study Hours'])
return data
# Function to save data
def save_data(data):
data.to_csv('study_data.csv', index=False)
# Main function to run the app
def main():
st.title("Study Tracker App")
# Load or create study data
study_data = load_data()
# Display current study data
st.write("### Current Study Data")
st.write(study_data)
# Input study hours
study_hours = st.number_input("Enter Study Hours", 0.0, 24.0, step=0.5)
# Input date
study_date = st.date_input("Select Date", datetime.date.today())
# Convert study_date to datetime
study_date = pd.to_datetime(study_date)
# Add button to log study hours
if st.button("Log Study Hours"):
new_entry = {'Date': study_date, 'Study Hours': study_hours}
study_data = pd.concat([study_data, pd.DataFrame([new_entry])], ignore_index=True)
save_data(study_data)
st.success(f"Study hours logged successfully for {study_date}")
# Display history chart
st.write("### Study History Chart")
fig = px.line(study_data, x='Date', y='Study Hours', title='Study Hours Over Time')
st.plotly_chart(fig)
if __name__ == "__main__":
main()
Log in or sign up for Devpost to join the conversation.