====== Kundenseite ====== - Coaching Produkt Anlegen - Verkauf von Coaching Pordukt - anpssen von Coaching Produkten - Abschließen eines Abos - Kündigen eines Abos - Hochalden von Dokumenten - AGB's anpassen - Verkaufsseite anpassen ====== Firmenseite ====== - Newsletterversand - Nutzerbasierter E-Mail versand (Kundenbindung) - update depolyment - Server bezahlen ====== Einzelnde Prozesse ====== ==== PW-Rest ==== **Mailjet(Send API) + Netcup (Mail)** * https://my-coach-finder.de/reset-password?app=true * wenn gefunden: https://my-coach-finder.de/reset-password-msg All mails sent to **MySQL** → **Mailjet** Mail addresses by **Netcup** - **1.)** Application receives signal for mail sending - **2.)** Application sends an entry with all necessary information to MySQL - **3.)** Mail server checks at intervals (e.g., every 30 seconds) if there is an entry in MySQL - **4a.)** If Yes: → proceed to step 5. - **4b.)** If No: → go back to step 3. - **5.)** Send API request to Mailjet - **6.)** Mail server confirms status in MySQL ====== Print ====== #normal print #only see in "gunicorn -w 4 'app:app'" or simalar #only temp. for debug - remove after coding session print("") #print via telegram #common #in feedback_helper.py #use: from feedback_helper import write_output write_output(*args) ====== Transactional E-Mail ====== ''Newsletter will in any time org. extern'' #via mailgun # to do: Python Intreation + Call ====== Analyse ====== #init from mixpanel import Mixpanel from config import MIXPANEL_PRO_KEY, MIXPANEL_RETRY_LIMIT mp = Mixpanel(MIXPANEL_PRO_KEY, MIXPANEL_RETRY_LIMIT) #use: #https://docs.mixpanel.com/docs/tracking-methods/sdks/python #in json can be all free use mp.track('USER_ID', 'some_event', { 'plan': 'premium' }) ====== AI/KI ====== #in ai_handler.py #init from ai_handler import deepseek_prompt_to_text from ai_handler import chatgpt_promt_to_text #use res_text_only = deepseek_prompt_to_text(promt) res_text_only = chatgpt_promt_to_text(promt)