import streamlit as st import streamlit_authenticator as stauth import pandas as pd # Benutzerkonfiguration für die Authentifizierung users = [ {"name": "Max Mustermann", "username": "mmustermann", "password": stauth.Hasher(["password"]).generate()} ] authenticator = stauth.Authenticate( usernames={user["username"]: user for user in users}, secret_key="your_secret_key", cookie_name="streamlit-auth", cookie_expiry_days=30 ) name, authentication_status, username = authenticator.login("Login", "main") if authentication_status: st.sidebar.success(f"Willkommen {name}") st.title("🔄 Hormonzyklus-Tracker 🔄") st.header("Zusammenfassung des Workshops über das weibliche Hormonsystem und Zyklen") st.write(""" ### Überblick Das weibliche Hormonsystem ist äußerst empfindlich und zyklisch. Es unterscheidet sich stark vom männlichen System, welches oft in Studien bevorzugt wird. Hormongesundheit ist ein integraler Bestandteil des allgemeinen Wohlbefindens und sollte speziell bei Frauen beachtet werden. Unser Körper funktioniert als ein zusammenhängendes System, bei dem alle Teile miteinander interagieren. ### Wichtige Hormone - **FSH (Follikelstimulierendes Hormon)**: Stimuliert die Follikel in den Eierstöcken, die sich zu Eizellen entwickeln. Essenziell für den Beginn des Menstruationszyklus. - **Östrogen**: Ein wesentliches weibliches Hormon, das viele körperliche Funktionen beeinflusst, einschließlich der Fortpflanzung und des Aussehens. Ein Ungleichgewicht kann zu gesundheitlichen Problemen führen. - **LH (Luteinisierendes Hormon)**: Wichtig für den Eisprung und die Bildung des Gelbkörpers. Unterstützt die Freisetzung der Eizelle. - **Progesteron**: Wird nach dem Eisprung vom Gelbkörper produziert und unterstützt die Gebärmutter bei der Vorbereitung auf eine mögliche Schwangerschaft. Ein Mangel kann zu Stimmungsschwankungen und Heißhunger führen. """) st.write(""" ### Zyklusphasen - **Menstruationsphase (Winter)**: - Dauer: 3-7 Tage - Beschreibung: Ruhephase, ideale Zeit für Reflexion und Zielsetzung. - Empfehlungen: Rückzug und Selbstreflexion, Journaling, um Ziele und Pläne für den nächsten Zyklus festzulegen. - Ernährung: Eisenreiches Gemüse und Obst, vorzugsweise warm, um den Blutverlust auszugleichen. - **Follikelphase (Frühling)**: - Dauer: Ca. 7-10 Tage - Beschreibung: Aufbauphase, der Körper bereitet sich auf den Eisprung vor. - Empfehlungen: Ideal für die Planung und den Beginn neuer Projekte. Langsam in die Aktion kommen. - Ernährung: Viel Gemüse und Obst, Makronährstoffe wie Fette, Proteine, Omega-3-Fettsäuren (z.B. Fisch), Magnesium und Vitamin D. - **Ovulationsphase (Sommer)**: - Dauer: 1-2 Tage - Beschreibung: Fruchtbares Fenster, Zeit der höchsten Energie und sozialen Interaktion. - Empfehlungen: Ideal für Networking, Dating und intensive soziale Aktivitäten. - Ernährung: Leichte, regelmäßige Mahlzeiten, da der Appetit tendenziell geringer ist. - **Lutealphase (Herbst)**: - Dauer: Ca. 14 Tage - Beschreibung: Vorbereitung auf die Menstruation, erhöhte Kalorienbedürfnisse. - Empfehlungen: Abschluss von Projekten und Aufgaben, die zusätzliche Energie erfordern. Achte auf Anzeichen von Stress und hormonellen Veränderungen. - Ernährung: Erhöhte Kalorienaufnahme (+280 Kalorien/Tag), ballaststoffreiche Lebensmittel wie Quinoa, Apfelessig im Salat zur Unterstützung der Verdauung. """) st.write(""" ### Weitere wichtige Aspekte - **Sekrete**: Essenziell für die Unterstützung der Spermien und zum Schutz vor Infektionen, besonders in der Lutealphase. - **Ayurveda**: Betont die zyklische Natur des weiblichen Körpers und teilt den Zyklus in vier Jahreszeiten ein, um die Phasen besser zu verstehen und zu managen. - **Cortisol**: Stresshormon, das in der Nebennierenrinde produziert wird und den Blutzuckerspiegel sowie die hormonelle Balance beeinflusst. Wichtig für die Stressbewältigung, insbesondere während der Lutealphase. ### Empfehlungen - **Energie-Management**: Fokussiere dich darauf, deine Energie zu managen, nicht nur deine Zeit. Unterschiedliche Phasen erfordern unterschiedliche Energieeinsätze. - **Ernährungstipps**: Integriere Apfelessig in deine Ernährung, um die Verdauung zu unterstützen, und konsumiere ballaststoffreiche Lebensmittel, um die hormonelle Balance zu fördern. - **Journaling**: Nutze das Journaling zur Reflexion und Planung. Setze dir Ziele für den nächsten Zyklus und überprüfe regelmäßig deine Fortschritte. """) # Definieren Sie die Spalten für den Tracker columns = [ "Cycle Day", "Flow", "Cervical Mucus", "Products Used", "Basal Temp", "Ovulation", "Acne", "Appetite", "Breast Pain", "Cramps", "Fatigue", "Fluid Retention", "Food Cravings", "Gas", "Headache", "Migraine", "Nausea", "Allergies", "Anxiety", "Asthma", "Depression", "Dry Eye", "Eczema", "Endometriosis", "Epilepsy", "Fibromyalgia", "GERD", "IBS", "Mania", "MS", "OCD", "PCOS", "PMDD", "Social Anxiety" ] # Erstellen Sie ein leeres DataFrame, um die Daten zu speichern if 'data' not in st.session_state: st.session_state.data = pd.DataFrame(columns=columns) # Eingabebereich st.subheader("Daten eingeben") cycle_day = st.number_input("Zyklustag", min_value=1, max_value=31) flow = st.selectbox("Fluss", ["none", "spotting", "light", "moderate", "heavy"]) cervical_mucus = st.selectbox("Zervixschleim", ["D", "S", "C", "W", "EW"]) products_used = st.number_input("Anzahl der verwendeten Produkte oder Tassen", min_value=0) basal_temp = st.number_input("Basaltemperatur", format="%.2f") ovulation = st.selectbox("Ovulation", ["Yes", "No"]) # Allgemeine Symptome st.subheader("Allgemeine Symptome") acne = st.slider("Akne", 0, 10) appetite = st.slider("Appetit", 0, 10) breast_pain = st.slider("Brustschmerzen", 0, 10) cramps = st.slider("Krämpfe", 0, 10) fatigue = st.slider("Müdigkeit", 0, 10) fluid_retention = st.slider("Flüssigkeitsretention", 0, 10) food_cravings = st.slider("Heißhunger", 0, 10) gas = st.slider("Gasbildung", 0, 10) headache = st.slider("Kopfschmerzen", 0, 10) migraine = st.slider("Migräne", 0, 10) nausea = st.slider("Übelkeit", 0, 10) # Medizinische Symptome st.subheader("Medizinische Symptome") allergies = st.slider("Allergien", 0, 10) anxiety = st.slider("Angst", 0, 10) asthma = st.slider("Asthma", 0, 10) depression = st.slider("Depression", 0, 10) dry_eye = st.slider("Trockene Augen", 0, 10) eczema = st.slider("Ekzem", 0, 10) endometriosis = st.slider("Endometriose", 0, 10) epilepsy = st.slider("Epilepsie", 0, 10) fibromyalgia = st.slider("Fibromyalgie", 0, 10) gerd = st.slider("GERD", 0, 10) ibs = st.slider("IBS", 0, 10) mania = st.slider("Manie", 0, 10) ms = st.slider("MS", 0, 10) ocd = st.slider("OCD", 0, 10) pcos = st.slider("PCOS", 0, 10) pmdd = st.slider("PMDD", 0, 10) social_anxiety = st.slider("Soziale Angst", 0, 10) # Daten zum DataFrame hinzufügen if st.button("Daten hinzufügen"): new_data = { "Cycle Day": cycle_day, "Flow": flow, "Cervical Mucus": cervical_mucus, "Products Used": products_used, "Basal Temp": basal_temp, "Ovulation": ovulation, "Acne": acne, "Appetite": appetite, "Breast Pain": breast_pain, "Cramps": cramps, "Fatigue": fatigue, "Fluid Retention": fluid_retention, "Food Cravings": food_cravings, "Gas": gas, "Headache": headache, "Migraine": migraine, "Nausea": nausea, "Allergies": allergies, "Anxiety": anxiety, "Asthma": asthma, "Depression": depression, "Dry Eye": dry_eye, "Eczema": eczema, "Endometriosis": endometriosis, "Epilepsy": epilepsy, "Fibromyalgia": fibromyalgia, "GERD": gerd, "IBS": ibs, "Mania": mania, "MS": ms, "OCD": ocd, "PCOS": pcos, "PMDD": pmdd, "Social Anxiety": social_anxiety } st.session_state.data = st.session_state.data.append(new_data, ignore_index=True) st.success("Daten wurden hinzugefügt.") # Daten anzeigen st.subheader("Erfasste Daten") st.dataframe(st.session_state.data) # Option zum Löschen von Daten if st.button("Daten löschen"): st.session_state.data = st.session_state.data[st.session_state.data["Cycle Day"] != cycle_day] st.success("Daten wurden gelöscht.") elif authentication_status == False: st.error("Benutzername/Passwort ist falsch") elif authentication_status == None: st.warning("Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein")