Giter VIP home page Giter VIP logo

modul151's Introduction

Read Me

Introduction

Dies ist für das Modul 151, das von Gabriel Varga & Arman-Din Selimovic bearbeitet wird. In diesem Modul besteht unsere Aufgabe darin, eine WebAPI mit php zu erstellen, allerdings ohne ein Frontend. Die Architektur ist der einzige wichtige Teil.

API

Bei unserer API geht es um ein Fussball Transferfenster. Der Spieler Name, sein zurzeitiges Heimclub und der Transferclub wird angezeigt. Dazu noch die Datume & Ablösessume angezeigt. Dazu kann man auch selber einen neuen Transfer erfassen, einen vorhandenen bearbeiten oder auch einen vorhandenen Entfernen. Das gleiche ist auch möglich mit den Spielern und Teams. Diese kann man ebenfalls anschauen, bearbeiten, neu erstellen oder auch löschen.

Vorgehensweise

Zusammen haben wir uns die Aufgaben unterteilt, jedoch haben wir bei den meisten "Extreme Programming" angewendet. Bei diesem "Extreme Programming" handelt es sich um "Pair Programming".

Architektur

  • PHP
    Das Projekt wird, aufgrund der Aufgabenstellung, mit PHP programmiert. Es dürfen auch keine Frameworks verwendet werden, ausser die Aufgabenstellung verlangt dies explizit.

  • Aufbau
    Der Aufbau von unserem Projekt sieht folgendes aus:

    Das Projekt wird in verschiedene Themen unterteilt. Die erste Datei kümmert sich um die Datenbank verbindung. Danach folgt je ein Controller und ein Model für jede Funktion der API. Das auslesen, bearbeiten, erstellen und löschen der Daten werden auf 4 verschiedene PHP Dateien unterteilt. Dies wird gemacht für die Transfers, Spieler und Teams. Insgesamt werden es dann 12 Controller und 12 Models sein. Die Models rufen eine Methode von Controller auf, welche mit der Datenbank kommuniziert und dann auch die Datenbankabfragen ausführt. Je nach dem was ausgeführt wird, bekommt man dann auch ein Resultat oder nur eine Meldung ob ein Fehler aufgetreten ist oder nicht. Die Queries werden in der Datei definiert, für die jeweilige Funktion (get, delete, put, post) Hier ist noch eine kleine Darstellung wie unsere Architektur aussieht:

M151_Architecture

Thema 1 Native SQL Statements

Bei diesem Thema müssen wir ein WebAPI erstellen mit der Architektur die in der Dokumentation definiert wurden ist.

  • Use Case's
    Hier ist die Liste von unseren Use Case's für die API:
    • Transfers:
      • Ein Transfer sollte per TransferId aus der Datenbank geholt werden
      • Wenn man mehrere TransferIds angibt, dann sollten auch mehrere Resultate angezeigt werden.
      • Wenn "all" angegeben wird, dann sollen alle Resultate angezeigt werden.
      • Man sollte Transfers aus der Datenbank ändern können.
      • Man sollte neue Transfers erfassen können.
      • Man sollte Transfers in der Datenbank löschen können.
    • Spieler:
      • Ein Spieler sollte per SpielerId aus der Datenbank geholt werden
      • Wenn man mehrere SpielerIds angibt, dann sollten auch mehrere Resultate angezeigt werden.
      • Wenn "all" angegeben wird, dann sollen alle Resultate angezeigt werden.
      • Man sollte Spieler aus der Datenbank ändern können.
      • Man sollte neue Spieler erfassen können.
      • Man sollte Spieler in der Datenbank löschen können.
    • Team:
      • Ein Team sollte per TeamId aus der Datenbank geholt werden
      • Wenn man mehrere TeamIds angibt, dann sollten auch mehrere Resultate angezeigt werden.
      • Wenn "all" angegeben wird, dann sollen alle Resultate angezeigt werden.
      • Man sollte Teams aus der Datenbank ändern können.
      • Man sollte neue Teams erfassen können.
      • Man sollte Teams in der Datenbank löschen können.
    • Beim Aufrufen von einer Funktion sollte im Fehler fall eine Fehlermeldung angezeigt werden.

ERM

M151_ERD

Fazit

Im Allgemeinen gab es nie grosse Probleme beim Bearbeiten dieses Projektes. Wir kamen immer schnell voran und musste nie wirklich Hilfe suchen. Am Anfang hatten wir jedoch Schwierigkeiten, da keiner von uns viel PHP Erfahrung hatte und noch nie eine API selbst erstellt hat. Doch wir konnten diese Hürden schnell überwinden. In Zukunft wissen wir nun von Anfang an, wie man ein PHP API Projekt starten sollte. Dazu können wir später uns auf wichtigere Punkte fokussieren, anstatt Nebensachen, die wir bei diesem Projekt angetroffen haben.

modul151's People

Contributors

freshgingergabriel avatar armansel avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.