Einzelnen Beitrag anzeigen
  #1  
Alt 25.01.2018, 14:55:44
JanDev JanDev ist offline
Anfänger
 
Registriert seit: Jan 2018
Alter: 35
Beiträge: 1
Erweiterungen der Datenbank/Programmabläufe/Webapplikation

Hallo Community!! :)
ich bin neu hier und brauche dringend Hilfe von euch, zur Zeit mache ich eine Umschulung zum Anwendungsentwickler. Gestern hatte ich ein Vorstellungsgespräch zu einem Praktikum, soweit so gut, habe ich eine Aufgabe mitbekommen und diese muss ich lösen, damit ich qausi den Platz bekomme. Nur weiß ich gar nicht genau wie ich damit anfangen soll den noch sind meine Skills in Sachen Php noch mager und mir mangelt es an der Umsetzung. Es wäre mega cool von euch wenn Ihr mir paar Tipps geben könntet, oder einen Weg um dieses Szenario umsetzen zu können.

Hier die Aufgabe:
Szenario:

Gegeben ist eine datenbankgestützte Software für Rechnungs-Erstellung. Es existiert bereits eine Webapplikation, über welche die Benutzer und deren Abos einsehbar sind sowie eine voll automatisierte Generierung von PDF-Rechnungen.

Folgende Relationen existieren in dem DBMS:

* users: user_id, email
* abos: abo_id, name
* abo_users: abo_user_id, user_id, abo_id
* abo_terms: abo_id, price_per_month
* abo_options: abo_option_id, price_per_month
* abo_user_options: abo_user_id, abo_option_id
* invoices: invoice_id, user_id, price_sum
* invoice_positions: invoice_id, invoice_number, position, quantity, price


Es existiert ein Cronjob, welcher automatisch am 1. jeden Monats die Rechnungen für den vorherigen Monat erstellt. Folgend der bestehende Anwendungsablauf für die Generierung der PDF-Dokumente:

1. Es wird zu jedem Benutzer das jeweils aktive Abo mit dem monatlichen Grundpreis ermittelt
2. Falls vom Benutzer gebucht, werden auch die zu dem jeweiligen Abo gebuchten Optionen und deren Preise ermittelt
3. Für jeden Benutzer mit aktivem Abo wird eine Rechnung in der invoices Relation erzeugt
4. Aus den ermittelten Preisen entstehen in der invoice_positions Relatione einzelne Rechnungspositionen
5. Anhand der invoices und invoice_positions Relationen werden dann PDF-Rechnungen generiert

Aufgabe:

Es soll zukünftig möglich sein, neben den aus den Abo-Daten ermittelten Rechnungs-Positionen, weitere beliebige Rechnungs-Positionen hinzuzufügen. Diese Aufgabe soll von Personen durchgeführt werden können, welche ausschließlich Zugriff auf die Webapplikation haben. Bestehende Datenstrukturen und Programmabläufe können aufgrund von technischen Limitierungen nicht verändert, jewoch erweitert werden.
Entwerfe die Erweiterungen der Datenbank/Programmabläufe/Webapplikation und wie sich diese von einem Programmierer in die bestehende Software integrieren lassen.