File size: 8,901 Bytes
dace9ad |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
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")
|