Skip to content

winf-hsos/haste-weihnacht

Repository files navigation

hasteWeihnacht Markdown Dokumentation

Link zur Seite: https://hasteweihnacht.firebaseapp.com/

Folders & Files

root/
|-css/
|  |--img/
|  |   |---backgrounds/
|  |   |      backgroundoffer.jpg
|  |   |      banner5.jpg
|  |   |      inprogress.jpg
|  |   |      productmanagerbackground.jpg
|  |   |      productmanagerbackgroundmr.jpg
|  |   |      shoppingtrolley.svg
|  |   |
|  |   |---form_icons/
|  |   |       mailIcon.png
|  |   |       mobileIcon.png
|  |   |       nameIcon.png
|  |   |       passIcon.png
|  |   |
|  |   |---team_img/
|  |           ali.jpg
|  |           etti.jpg
|  |           steffen.jpg
|  |           
|  |--style.css
|  |--styleemailverify.css
|  |--stylefarm.css
|  |--stylreg.css
|  |--styleseller.css
|  |--styleteam.css
|  
|-img/
|  |--acc_management_icons/
|  |    addproduct.svg
|  |    change.svg
|  |    changeproduct.svg
|  |    delete.svg
|  |    farm.svg
|  |    foodbasket.svg
|  |    product.svg
|  |    productchange.svg
|  |    shoppingtrolley.svg
|  |    turnover.svg
|  |
|  |--product_examples/
|  |    1.jpeg
|  |    2.jpeg
|  |    3.jpeg
|  |    4.jpeg
|  |    5.jpeg
|  |    6.jpeg
|  |    7.jpeg
|  |    8.jpeg
|  |    9.jpeg
|  |    10.jpeg
|  |    11.jpeg
|  |    12.jpeg
|  |    13.jpeg
|  |    14.jpeg
|  |    15.jpeg
|  |    16.jpeg
|  |    17.jpeg
|  |    18.jpeg
|  |
|  |--social_logos/
|  |    facebook.png
|  |    facebookloginws.png
|  |    googleloginws.png
|  |    instagram.png
|  |    instaloginws.png
|  |    twitter.png
|  |    twitterloginws.png
|  |
|  |--farm_example.jpg
|  |--favicon.ico
|  |--reg_example.jpg
|   
|-js/
|  |--customer.js
|  
|-database.rules.json
|-deploy.sh
|-emailverify.html
|-farmmanager.html
|-firebase.json
|-index.html
|-inprogress.html
|-productmanager.html
|-productoffer.html
|-registration.html
|-seller.html
|-submit.sh
|-team.html
|-validate.sh

Funktionen der index.html

  • readProducts()
    Liest die Produkte aus der Datenbank.
  • listProducts()
    Sortiert die 5 zuletzt eingestellten Produkte aus den zuvor geladenen Produkten aus der Funktion readProducts() und sortiert diese nach der Zeit (Das letzte eingestellte zuerst).
  • updateModal(productId)
    Holt die Produkte aus dem Array und lädt die jeweils zu einem Produkt gehörenden Daten in ein Modal, welchse sich bei Klick auf "Details" öffnet.
  • createProductCard()
    Erstellt auf Basis der Daten der 5 zuvor sortierten Produkte aus Funktion listProducts() für jedes eine Produktkarte.
  • initMap()
    Lädt die google map auf die Index Seite.
  • getPosition(callback)
    Fragt die aktuelle Position ab.
  • updateMap(latitude, longitude)
    Zeigt die aktuelle Position an und richtet den Kartenausschnitt auf die Position aus.
  • getLocationsFromDatabase()
    Holt die gespeicherten Positionen der Höfe aus der Datenbank.
  • addMarkersForLocations(locations)
    Erstellt einen Marker für jeden aus der Datenbank geladene Position.
  • addMarkerAtAddress(addressText, title)
    Zeigt die Adresse der Marker in einem Fenster an.
  • buy()
    Öffnet bei klick auf den Einkaufswagen in einer Produktkarte ein Modal zur Bestätigung des Hinzufügens in den Warenkorb.

Funktionen der registration.html

  • firebasetools.onLoginChanged(loginChanged) --> loginChanged(user)
    Prüft ob ein User eingeloggt ist, falls ja dann wird getUser() ausgelöst, wenn nicht wird zum Login aufgefordert.
  • getUser()
    Prüft anhand der eingeloggten userId ob ein bereits ein Profil angelegt wurde, falls ja dann wird fillFormValues() ausgelöst. Wenn nicht, gibt es eine Meldung in der Konsole.
  • fillFormValues()
    Lädt die Profildaten aus der Datenbank zum jeweiligen User in das Formular.

Funktionen der seller.html

  • firebasetools.onLoginChanged(loginChanged) --> loginChanged(user)
    Prüft ob ein User eingeloggt ist und welchen Status er hat: Anbieter oder Käufer. Davon ist abhängig, welche Inhalte angezeigt werden.

Funktionen der farmmanager.html

  • getHofForUser()
    Holt die Daten des Hofes des eingeloggten Users aus der Datenbank, wenn einer vorhanden ist dann wird die Funktion fillFormValues() ausgelöst. Wenn nicht, wird die Funktion createHofpage() ausgelöst.
  • fillFormValues()
    Die zuvor geladenen Daten des Hofes werden in das Formular geladen.
  • createHofpage()
    Erstellt den Hof auf Basis der Daten die im Formular eingegeben wurden, wenn zuvor noch keiner angelegt war.
  • hofItemAdded()
    Bestätigt in der Konsole das Hinzugfügen der Daten für den Hof und lädt die Seite neu.
  • updateHofpage()
    Überschreibt und aktualisiert die Daten zum Hof, damit kein neuer angelegt wird.
  • getLocationUser()
    Prüft ob ein User bereits eine Position des Hofes angegeben hat.
  • saveLocation()
    Speichert die Lokation des Hofes in der Datenbank ab.
  • fillFormValuesLoc()
    Die zuvor eingegebnen Daten zur Position werden in das Formular geladen.
  • locationItemAdded()
    Gibt dem User eine Rückmeldung, das die Daten gespeichert wurden und lädt die Seite neu.
  • updateLocation()
    Überschreibt und aktualisiert die Daten zur Position des Hofes, damit kein neuer angelegt wird.
  • handleError(error)
    Zeigt aufgetretene Fehler in der Konsole an.

Funktionen der productmanager.html

  • firebasetools.onLoginChanged(loginChanged) --> loginChanged()
    Prüft ob ein Nutzer eingeloggt ist, wenn nicht wird zum Login aufgeforert.
  • saveProduct()
    Speichert die im Formular eingegebenen Daten eines Produktes in der Datenbank.
  • updateProduct()
    Dient der aktualisierung von gespeicherten Produktdaten.
  • deleteProduct()
    Löscht ein ausgewähltes Produkt aus der Datenbank.
  • updateView()
    Aktualisiert die Daten in der Produktübersichtstabelle eines Users.
  • productDropdownChanged()
    Funktion zum akutalisieren des dropdowns und der Eingabefelder.
  • clear(domElement)
    Säubert die Tabelle.
  • newProduct()
    Zeigt das Formular zur Produkteinpfelge an.
  • closeAddNewProduct()
    Schließt das Formular der Produkteinpfelge ohne ein Produkt hinzuzufügen.
  • goToAddNewProductConfirmation()
    Bestätigt dem Nutzer die erfolgreiche Produkteinpflege.
  • closeAddNewProductConfirmation()
    Schließt die Bestätigung der erfolgreichen Produkteinpflege und zeigt den Ausgangstand an.
  • goToProductChangeOrDelete()
    Zeigt die Option des ändern oder löschen eines Produktes an.
  • changeAProduct()
    Öffnet das Formular zum ändern eines Produktes.
  • goToChangeAProductCofirmation()
    Bestätigt dem Nutzer die erfolgreiche Änderung eines Produktes.
  • closeChangeAProductConfirmation()
    Schließt die Besätigung der erfolgreichen Produktänderung.
  • closeChangeAProduct()
    Schließt das Formular der Produktänderung ohne etwas zu ändern.
  • backToProductChangeOrDeleteFromChange()
    Ermöglicht das Zurückkehren zum Optionsfenster zur Änderung oder Löschen eines Produktes.
  • deleteAProduct()
    Zeigt das Auswahldropdown zur Löschung eines Produktes aus der Datenbank an.
  • backToProductChangeOrDeleteFromDelete()
    Ermöglicht das Zurückkehren zum Optionsfenster zur Änderung oder Löschen eines Produktes.
  • goToDeleteAProductConfirmation()
    Bestätigt dem Nutzer die erfolgreiche Löschung eines produktes aus der Datenbank.
  • closeDeleteAProductConfirmation()
    Schließt die Besätigung der erfolgreichen Löschung eines Produkts aus der Datenbank.
  • closeDeleteAProduct()
    Schließt das Auswahldropdown zur Löschung eines Produktes.
  • showAllProduct()
    Zeigt die Tabelle der aller eingetragenenen Produkte eines Users aus der Datenbank an.
  • closeShowAllProduct()
    Schließt die Übersichtstabelle.

Funktionen der productoffer.html

  • performSearch()
    Wird ausgelöst bei der Suche nach einem bestimmten Produkt z.B. Kartoffel. Dabei werden alles Produkte aus der Datenbank geladen.
    • productsReady()
      Filtert das Ergebnis auf Basis des Suchterms.
    • createProductCard(product)
      Erzeugt eine Produktkarte für jedes gefilterte Ergebnis und lädt die Produktdaten in die jeweilige Karte.
  • readProducts()
    Wird ausgelöst, wenn kein Suchterm eingegeben wurde. Und lädt alle Produkte aus der Datenbank.
  • listProducts()
    Listet alle Produkte geordnet nach dem Einstelldatum (letztes zuerst) auf.
  • createProductCard()
    Hier wird für jedes gefunden Produkt eine Karte ertellt und die jeweiligen Daten in eine Produktkarte geladen.
  • updateModal(productId)
    Holt die Produkte aus dem Array und lädt die jeweils zu einem Produkt gehörenden Daten in ein Modal, welche sich bei Klick auf "Details" in einer Produktkarte öffnen. -buy()
    Öffnet bei klick auf den Einkaufswagen in einer Produktkarte ein Modal zur Bestätigung des Hinzufügens in den Warenkorb.

Funktionen der customer.js

Initialisiert Firebase und stellt die Verbindung zwischen Webseite und Firebase her.

var config = {
apiKey: "AIzaSyCqHknms_mfUAZ7K2r2yCkmw2IWFJtPiQc",
authDomain: "hasteweihnacht.firebaseapp.com",
databaseURL: "https://hasteweihnacht.firebaseio.com",
projectId: "hasteweihnacht",
storageBucket: "hasteweihnacht.appspot.com",
messagingSenderId: "485313714646"};
  • validate()
    Bezieht die eingegebenen Daten aus dem Login-Formular und loggt den User ein.
  • loginChanged(user)
    Je nachdem ob ein User eingeloggt ist oder nicht, verändern sich die Auswahloptionen der Navigationsleiste.
  • logout()
    Loggt den User aus und leitet auf die index.html weiter.
  • handleError(error)
    Zeigt durch eine Meldung an, ob der User bei der Eingabe seiner Logindaten Fehler gemacht hat.
  • register()
    Ein neuer User wird registriert und angelegt. Dabei wird er eingeloggt und auf die Benutzerprofilseite weitergeleitet.
  • checkEmailVerified()
    Prüft ob ein User seine Email verifiziert hat. Falls ja, wird er weitergeleitet, wenn nicht, verbeleibt er bis zur Verifizierung auf dieser Seite.
  • sendVerificationEMail()
    Sendet bei Regisrierung eine Verfikationsmail an die angegebene Email Adresse.
  • emailSuccess()
    Zeigt in der Konsole an, ob die Verifikationsmail versendet wurde. -createUser()
    Erstellt einen User anhand der angebenden persönlichen Daten im Benutzerprofilformular.
  • startSearch()
    Startet die Suche nach dem Suchterm, der auf der Landingpage eingegeben wurde und übergibt dieses Parameter an die productoffer.html und löst performSearch() aus.
  • function goToProfile()
    Löst bei Klick auf den Button "Fortfahren" auf der emailverify.html, die Funktion checkEmailVerified() aus.

About

Prototyp eines Webshops, der im Rahmen einer studentischen Projektarbeit im WS 18/19 entstanden ist.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published