Git Product home page Git Product logo

gg-task's Introduction

Grand Garage Task

Aufgabenstellung

Erstellung einer simplen Laravel Applikation, welche REST-API Schnittstellen anbietet. Es soll dabei vor allem auf das MVC Pattern* geachtet werden.

  1. Einrichtung: Laravel 10.x installieren und in einem Docker-Environment aufsetzen, Laravel Sail ist ausreichend. Ein guter Anhaltspunkt stellt die offizielle Laravel Doku dar.

  2. API erstellen: Über die REST API https://instantwebtools.net/fake-rest-api#read-airlines wollen wir Airlines anzeigen, erstellen und updaten. Erstelle dazu passende Routen in Laravel. Diese sollen in einem Controller die entsprechenden Endpoints der API abfragen. (Hilfreich dazu ist der Abschnitt Http Client in der Doku):

    • GET /api/airlines soll alle Airlines ausgeben
    • GET /api/airlines/:id soll die Airline mit der :id ausgeben
    • POST /api/airline sollte eine neue Airline erstellen
    • PUT /api/airlines/:id soll den Namen der Airline mit der :id updaten
    • Tipp: Hilfreich zum Testen der Routen ist ein Http-Client wie Postman oder Insomnia
  3. API-Dokumentation: Die Schnittstellen können mittels Swagger unter einer Route, gängig ist z.B. </api/v1>, dokumentiert werden.

  4. Frontend: Zeige die Airlines in einer View an (siehe laravel views). Dabei kann es sich sowohl um eine einfache HTML List als auch VueJs handeln. Das ist dir überlassen. Ein gutes Tutorial für laravel + vue wäre z.B. hier zu finden.

Optional

  • Pagination: In einem anderen Endpunkt der API können wir uns Passagiere zu den Airlines holen, diese sind jedoch paginated.

Ziel hier ist es, die Passagiere auszulesen und bei page=1 die ersten 50, bei page=2 die zweiten 50 etc. auszugeben. Dies soll in der entsprechnenden Laravel-Route ergänzt werden:

Endpunkt: GET https://api.instantwebtools.net/v1/passenger?page=0&size=10

Docs: https://www.instantwebtools.net/fake-rest-api#read-passenger-paginated

  • MVC: Ein gängiges Entwurfsmuster zur Strukturierung von Software stellt das Model-View-Controller Design Pattern dar. Es trennt die Daten- von der Präsentationsschicht. Laravel ist ein MVC-PHP-Framework.

gg-task's People

Contributors

konskarz 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.